Skip to content

Instantly share code, notes, and snippets.

@cleytonferrari
Last active August 29, 2015 13:57
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save cleytonferrari/9798918 to your computer and use it in GitHub Desktop.
Save cleytonferrari/9798918 to your computer and use it in GitHub Desktop.
Exemplo de crud simples copiado e colado
@using ExemploADOSimples.Controllers
@model ExemploADOSimples.Models.Cao
@{
ViewBag.Title = "Detalhe";
}
<div class="col-md-6">
<h2>Cadastrar</h2>
@Html.ValidationSummary()
<form action="" method="POST">
<fieldset>
<div class="form-group">
<label>Nome</label>
<input id="Nome" name="Nome" type="text" value="@Model.Nome" class="form-control">
</div>
<div class="form-group">
<label>Peso</label>
<input id="Peso" name="Peso" type="text" value="@Model.Peso" class="form-control">
</div>
<div class="form-group">
<label>Cor</label>
<input id="Cor" name="Cor" type="text" value="@Model.Cor" class="form-control">
</div>
<div class="form-group">
<label>Sexo</label>
<select class="form-control" id="Sexo" name="Sexo">
<option value="M">Masculino</option>
<option value="F">Feminino</option>
</select>
</div>
<div class="form-group">
<label>Raça</label>
<select class="form-control" id="RacaId" name="RacaId">
@foreach (var item in (List<Raca>) ViewBag.ListaDeRacas)
{
<option value="@item.Id">@item.Nome</option>
}
</select>
</div>
<button type="submit" class="btn btn-primary">Salvar</button>
<a href="@Url.Action("Index")" class="btn btn-default">Cancelar</a>
</fieldset>
</form>
</div>
using System;
using System.Collections.Generic;
using System.Drawing;
using System.Globalization;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using System.Data.SqlClient;
using ExemploADOSimples.Models;
namespace ExemploADOSimples.Controllers
{
public class CaoController : Controller
{
public ActionResult Index()
{
//TODO: 1º Criar uma conexao com o banco de dados
const string stringConexao = @"data source=.\SQLEXPRESS;Integrated Security=SSPI;Initial Catalog=caopeao";
var minhaConexao = new SqlConnection(stringConexao);
minhaConexao.Open();
//TODO: 2º Executar um comando no banco de dados
var strQuery = "SELECT c.caoId, c.nome, c.peso, c.cor, c.sexo, c.racaId, r.raca FROM CAO c, RACA r WHERE c.racaId = r.racaId";
var comando = new SqlCommand(strQuery, minhaConexao);
var retorno = comando.ExecuteReader();
//TODO: 3º Processar o retorno do banco de dados OU não
var listaDeCao = new List<Cao>();
while (retorno.Read())
{
var tempCao = new Cao();
tempCao.Id = int.Parse(retorno["caoId"].ToString());
tempCao.Nome = retorno["nome"].ToString();
tempCao.Cor = retorno["cor"].ToString();
tempCao.Sexo = retorno["sexo"].ToString();
tempCao.Peso = decimal.Parse(retorno["peso"].ToString());
tempCao.RacaId = int.Parse(retorno["racaId"].ToString());
tempCao.Raca = retorno["raca"].ToString();
listaDeCao.Add(tempCao);
}
return View(listaDeCao);
}
public ActionResult Detalhe(int id)
{
//TODO: 1º Criar uma conexao com o banco de dados
const string stringConexao = @"data source=.\SQLEXPRESS;Integrated Security=SSPI;Initial Catalog=caopeao";
var minhaConexao = new SqlConnection(stringConexao);
minhaConexao.Open();
//TODO: 2º Executar um comando no banco de dados
var strQuery = string.Format("SELECT * FROM CAO WHERE CAOID = {0}", id);
var comando = new SqlCommand(strQuery, minhaConexao);
var retorno = comando.ExecuteReader();
//TODO: 3º Processar o retorno do banco de dados OU não
var listaDeCao = new List<Cao>();
while (retorno.Read())
{
var tempCao = new Cao();
tempCao.Id = int.Parse(retorno["caoId"].ToString());
tempCao.Nome = retorno["nome"].ToString();
tempCao.Cor = retorno["cor"].ToString();
tempCao.Sexo = retorno["sexo"].ToString();
tempCao.Peso = decimal.Parse(retorno["peso"].ToString());
tempCao.RacaId = int.Parse(retorno["racaId"].ToString());
listaDeCao.Add(tempCao);
}
return View(listaDeCao.FirstOrDefault());
}
public ActionResult Excluir(int id)
{
//TODO: 1º Criar uma conexao com o banco de dados
const string stringConexao = @"data source=.\SQLEXPRESS;Integrated Security=SSPI;Initial Catalog=caopeao";
var minhaConexao = new SqlConnection(stringConexao);
minhaConexao.Open();
//TODO: 2º Executar um comando no banco de dados
var strQuery = string.Format("DELETE FROM CAO WHERE CAOID = {0}", id);
var comando = new SqlCommand(strQuery, minhaConexao);
comando.ExecuteNonQuery();
return RedirectToAction("Index");
}
public ActionResult Cadastrar()
{
//TODO: 1º Criar uma conexao com o banco de dados
const string stringConexao = @"data source=.\SQLEXPRESS;Integrated Security=SSPI;Initial Catalog=caopeao";
var minhaConexao = new SqlConnection(stringConexao);
minhaConexao.Open();
//TODO: 2º Executar um comando no banco de dados
var strQuery = "SELECT * FROM raca";
var comando = new SqlCommand(strQuery, minhaConexao);
var retorno = comando.ExecuteReader();
//TODO: 3º Processar o retorno do banco de dados OU não
var listaDeRacas = new List<Raca>();
while (retorno.Read())
{
var tempRaca = new Raca();
tempRaca.Id = int.Parse(retorno["racaId"].ToString());
tempRaca.Nome = retorno["raca"].ToString();
listaDeRacas.Add(tempRaca);
}
ViewBag.ListaDeRacas = listaDeRacas;
return View(new Cao());
}
[HttpPost]
public ActionResult Cadastrar(Cao cao)
{
#region TODO: 1º Criar uma conexao com o banco de dados
const string stringConexao = @"data source=.\SQLEXPRESS;Integrated Security=SSPI;Initial Catalog=caopeao";
var minhaConexao = new SqlConnection(stringConexao);
minhaConexao.Open();
#endregion
if (ModelState.IsValid)
{
//Salva o cao
#region TODO: 2º Executar um comando no banco de dados
var strQuery = string.Format(
"INSERT INTO CAO (Nome, " +
"Peso, Cor, Sexo, RacaId) VALUES ('{0}','{1}','{2}','{3}','{4}') ",
cao.Nome, cao.Peso.ToString(CultureInfo.InvariantCulture), cao.Cor,
cao.Sexo, cao.RacaId);
var comando = new SqlCommand(strQuery, minhaConexao);
comando.ExecuteNonQuery();
#endregion
return RedirectToAction("Index");
}
#region Executa comando da raca
var strQueryRaca = "SELECT * FROM raca";
var comandoRaca = new SqlCommand(strQueryRaca, minhaConexao);
var retornoRaca = comandoRaca.ExecuteReader();
#endregion
#region Processa o retorno do select da raca
//TODO: 3º Processar o retorno do banco de dados OU não
var listaDeRacas = new List<Raca>();
while (retornoRaca.Read())
{
var tempRaca = new Raca();
tempRaca.Id = int.Parse(retornoRaca["racaId"].ToString());
tempRaca.Nome = retornoRaca["raca"].ToString();
listaDeRacas.Add(tempRaca);
}
ViewBag.ListaDeRacas = listaDeRacas;
#endregion
return View(cao);
}
public ActionResult Editar(int id)
{
#region TODO: 1º Criar uma conexao com o banco de dados
const string stringConexao = @"data source=.\SQLEXPRESS;Integrated Security=SSPI;Initial Catalog=caopeao";
var minhaConexao = new SqlConnection(stringConexao);
minhaConexao.Open();
#endregion
#region TODO: 2º Executar um comando no banco de dados
var strQuery = string.Format("SELECT * FROM CAO WHERE CAOID = {0}", id);
var comando = new SqlCommand(strQuery, minhaConexao);
var retorno = comando.ExecuteReader();
#endregion
#region TODO: 3º Processar o retorno do banco de dados OU não
var listaDeCao = new List<Cao>();
while (retorno.Read())
{
var tempCao = new Cao();
tempCao.Id = int.Parse(retorno["caoId"].ToString());
tempCao.Nome = retorno["nome"].ToString();
tempCao.Cor = retorno["cor"].ToString();
tempCao.Sexo = retorno["sexo"].ToString();
tempCao.Peso = decimal.Parse(retorno["peso"].ToString());
tempCao.RacaId = int.Parse(retorno["racaId"].ToString());
listaDeCao.Add(tempCao);
}
retorno.Close();
#endregion
#region Executa comando da raca
var strQueryRaca = "SELECT * FROM raca";
var comandoRaca = new SqlCommand(strQueryRaca, minhaConexao);
var retornoRaca = comandoRaca.ExecuteReader();
#endregion
#region Processa o retorno do select da raca
//TODO: 3º Processar o retorno do banco de dados OU não
var listaDeRacas = new List<Raca>();
while (retornoRaca.Read())
{
var tempRaca = new Raca();
tempRaca.Id = int.Parse(retornoRaca["racaId"].ToString());
tempRaca.Nome = retornoRaca["raca"].ToString();
listaDeRacas.Add(tempRaca);
}
ViewBag.ListaDeRacas = listaDeRacas;
#endregion
return View(listaDeCao.FirstOrDefault());
}
[HttpPost]
public ActionResult Editar(Cao cao)
{
#region TODO: 1º Criar uma conexao com o banco de dados
const string stringConexao = @"data source=.\SQLEXPRESS;Integrated Security=SSPI;Initial Catalog=caopeao";
var minhaConexao = new SqlConnection(stringConexao);
minhaConexao.Open();
#endregion
if (ModelState.IsValid)
{
//Salva o cao
#region TODO: 2º Executar um comando no banco de dados
var strQuery = string.Format("UPDATE CAO SET Nome = '{0}', Peso = '{1}', Cor = '{2}', Sexo = '{3}', RacaId = '{4}' WHERE CaoId = {5} ", cao.Nome, cao.Peso.ToString(CultureInfo.InvariantCulture), cao.Cor, cao.Sexo, cao.RacaId, cao.Id);
var comando = new SqlCommand(strQuery, minhaConexao);
comando.ExecuteNonQuery();
#endregion
return RedirectToAction("Index");
}
#region Executa comando da raca
var strQueryRaca = "SELECT * FROM raca";
var comandoRaca = new SqlCommand(strQueryRaca, minhaConexao);
var retornoRaca = comandoRaca.ExecuteReader();
#endregion
#region Processa o retorno do select da raca
//TODO: 3º Processar o retorno do banco de dados OU não
var listaDeRacas = new List<Raca>();
while (retornoRaca.Read())
{
var tempRaca = new Raca();
tempRaca.Id = int.Parse(retornoRaca["racaId"].ToString());
tempRaca.Nome = retornoRaca["raca"].ToString();
listaDeRacas.Add(tempRaca);
}
ViewBag.ListaDeRacas = listaDeRacas;
#endregion
return View(cao);
}
}
}
@using System.Activities.Expressions
@model List<ExemploADOSimples.Models.Cao>
@{
ViewBag.Title = "Index";
}
<div class="col-md-12">
<h2>Listagem de Cães</h2>
<a class="btn btn-default btn-sm" href="@Url.Action("Cadastrar")" title="Novo">
<i class="glyphicon glyphicon-plus"></i> Novo cadastro
</a>
<table class="table table-striped table-hover">
<thead>
<tr>
<th>#</th>
<th>Nome</th>
<th>Peso</th>
<th>Cor</th>
<th>Raça</th>
<th></th>
</tr>
</thead>
@foreach (var item in Model)
{
<tr>
<td>@item.Id</td>
<td>@item.Nome</td>
<td>@item.Peso</td>
<td>@item.Cor</td>
<td>@item.Raca</td>
<td>
<a class="btn btn-default btn-sm" href="@Url.Action("Editar",new {id= item.Id})" title="Editar">
<i class="glyphicon glyphicon-pencil"></i>
</a>
<a class="btn btn-default btn-sm" href="@Url.Action("Detalhe",new {id= item.Id})" title="Detalhes">
<i class="glyphicon glyphicon-align-justify"></i>
</a>
<a class="btn btn-default btn-sm" href="@Url.Action("Excluir",new {id= item.Id})" title="Excluir">
<i class="glyphicon glyphicon-remove text-danger"></i>
</a>
</td>
</tr>
}
</table>
</div>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment