Last active
August 29, 2015 13:57
-
-
Save cleytonferrari/9798918 to your computer and use it in GitHub Desktop.
Exemplo de crud simples copiado e colado
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@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> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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); | |
} | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@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