Ejemplo n.º 1
0
        public ActionResult Salvar(ProdutoModel produto)
        {
            var model = new ProdutoModel()
            {
                Nome = produto.Nome,
                PercentualDesconto = produto.PercentualDesconto,
                Quantidade         = produto.Quantidade,
                ValorProduto       = produto.ValorProduto
            };
            var database = new ProdutoRepositorio();

            if (ModelState.IsValid)
            {
                var produtos     = database.BuscarPorNome(produto.Nome);
                var produtoPorId = produto.Id != null?database.buscarPorId((int)produto.Id) : null;

                if (produtos.Count > 0 || produtoPorId != null)
                {
                    model.Id = produtos.Count > 0 ? produtos[0].Id : produtoPorId.Id;
                    try
                    {
                        database.Atualizar(new Produto()
                        {
                            Id   = (int)model.Id,
                            Nome = model.Nome,
                            PercentualDesconto = model.PercentualDesconto,
                            Quantidade         = model.Quantidade,
                            ValorProduto       = model.ValorProduto
                        });
                    }
                    catch (SqlException e)
                    {
                        TempData["Mensagem"] = "Erro ao atualizar dados no banco de dados: '" + e.Message + "' Por favor, digite os dados corretamente";
                    }
                    TempData["Mensagem"] = "Produto atualizado com sucesso!";
                    return(RedirectToAction("RelatorioProdutos", "Relatorio"));
                    //View("ManterProduto", model);
                }
                else
                {
                    try
                    {
                        database.AddProduct(new Produto()
                        {
                            Nome = model.Nome,
                            PercentualDesconto = model.PercentualDesconto,
                            Quantidade         = model.Quantidade,
                            ValorProduto       = model.ValorProduto
                        });
                        TempData["Mensagem"] = "Produto inserido com sucesso";
                        return(RedirectToAction("RelatorioProdutos", "Relatorio"));
                    }
                    catch (SqlException e)
                    {
                        TempData["Mensagem"] = "Erro ao inserir dados no banco de dados: '" + e.Message + "' Por favor, digite os dados corretamente";
                    }
                    return(View("ManterProduto", model));
                }
            }
            else
            {
                return(View("ManterProduto", model));
            }
        }