Exemple #1
0
        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));
        }
Exemple #2
0
        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));
        }