O exercício não funcionou do mesmo jeito que foi demonstrado na aula. ... using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; using CaelumEstoque.Models; using CaelumEstoque.Dao;
namespace CaelumEstoque.Controllers { public class ProdutoController : Controller { // // GET: /Produto/
public ActionResult Index() { ProdutoDao dao = new ProdutoDao(); List produtos = dao.Lista(); return View(produtos); }
public ActionResult Form() { ViewBag.Produto = new Produto { Categoria = new CategoriaDoProduto() };
CategoriaDao dao = new CategoriaDao(); List categorias = dao.Lista(); return View(categorias); }
[HttpPost] public ActionResult Adiciona(Produto produto) { int idDaInformatica = 1; if (produto.Categoria.Id.Equals(idDaInformatica) && produto.Preco < 100) { ModelState.AddModelError("produto.informaticaComPrecoInvalido", "Produtos da Categoria Informárica devem custar mais de 100"); } if (ModelState.IsValid) { ProdutoDao produtoDAO = new ProdutoDao(); produtoDAO.Salva(produto); return RedirectToAction("Index"); } else { ViewBag.Produto = produto; CategoriaDao categoriaDAO = new CategoriaDao(); List categorias = categoriaDAO.Lista(); return View("Form", categorias); } }
[HttpPost] public ActionResult BlackList([BindAttribute(Exclude = "Quantidade,Categoria.Id,Preco")] Produto produto) { return View(produto); }
[HttpPost] public ActionResult WhiteList([BindAttribute(Include = "Nome,Id")] Produto produto) { return View(produto); }
public ActionResult Visualiza(int id) { ProdutoDao produtoDAO = new ProdutoDao(); Produto produto = produtoDAO.BuscaPorId(id); return View(produto); }
[HttpPost] public ActionResult DecrementaQuantidade(int produtoId) { ProdutoDao dao = new ProdutoDao(); Produto produto = dao.BuscaPorId(produtoId); if (produto.Quantidade > 0) { produto.Quantidade--; dao.Atualiza(produto); } return Json(produto); }
} } ... @model List
ID Nome do Produto Preço Quantidade @foreach (var produto in Model) {
@produto.Id @Html.RouteLink(produto.Nome, "VisualizaProduto", new{id = produto.Id}) @produto.Preco @produto.Quantidade Decrementa Quantidade }...