public ActionResult Cadastrar(CadastrarCategoriaViewModel viewModel) { if (ModelState.IsValid) { Categoria categoriaBanco = db .Categorias .ComDescricao(viewModel.Descricao) .SingleOrDefault(); if (categoriaBanco != null) { ModelState.AddModelError(String.Empty, "Já existe uma categoria com essa descrição."); return(View(viewModel)); } Categoria categoria = new Categoria() { Descricao = viewModel.Descricao }; db.RegistrarNovo(categoria); db.Salvar(); TempData["Success"] = "Categoria cadastrada com sucesso!"; return(RedirectToAction("Index", "Categorias")); } return(View(viewModel)); }
public ActionResult Cadastrar(CadastrarProdutoViewModel viewModel) { if (viewModel.Preco <= 0) { ModelState.AddModelError(String.Empty, "Preço inválido."); } if (ModelState.IsValid) { Produto produtoBanco = db .Produtos .ComDescricao(viewModel.Descricao) .SingleOrDefault(); if (produtoBanco != null) { ModelState.AddModelError(String.Empty, "Já existe um produto com essa descrição."); return(View("Cadastrar", viewModel)); } Produto produto = new Produto() { IdCategoria = viewModel.IdCategoria, Descricao = viewModel.Descricao, Preco = viewModel.Preco }; db.RegistrarNovo(produto); db.Salvar(); TempData["Success"] = "Produto cadastrado com sucesso!"; return(RedirectToAction("Index", "Produtos")); } ViewBag.Categorias = db.Categorias; return(View(viewModel)); }
public ActionResult Finalizar(PedidoViewModel viewModel) { if (!viewModel.Itens.Any()) { ModelState.AddModelError(String.Empty, "Adicione algum produto."); } if (ModelState.IsValid) { Pedido pedido = new Pedido() { DataPedido = DateTime.Now }; pedido.Itens = new List <Item>(); foreach (ItemViewModel item in viewModel.Itens) { var subtotalItem = item.Quantidade * item.Preco; pedido.Itens.Add(new Item() { IdProduto = item.IdProduto, Quantidade = item.Quantidade, Subtotal = subtotalItem }); pedido.ValorTotal += subtotalItem; } db.RegistrarNovo(pedido); db.Salvar(); this.Session["Itens"] = null; TempData["Success"] = "Pedido finalizado com sucesso!"; return(RedirectToAction("Index", "Pedidos")); } return(View("Index", viewModel)); }