Beispiel #1
0
        private static void TestarConflitoPersistenciaProduto()
        {
            var prodDAO = new ProdutoDAO();
            var clieDAO = new ClienteDAO();
            var pediDAO = new PedidoDAO();

            //Objetos da tela de busca do usuário 1
            var produtos1 = prodDAO.RetornarTodos();

            if (produtos1.Where(x => x.Codigo == 123).Count() == 0)
            {
                prodDAO.Inserir(new Produto {
                    Codigo = 123, Descricao = "Produto 123", Preco = 101.23
                });
                produtos1 = prodDAO.RetornarTodos();
            }

            //Usuário 1 escolheu alterar o produto 123
            var p1 = produtos1.Where(x => x.Codigo == 123).FirstOrDefault();

            //Objetos da tela de busca do usuário 2
            var produtos2 = prodDAO.RetornarTodos();

            //Usuário 2 escolheu alterar o produto 123
            var p2 = produtos2.Where(x => x.Codigo == 123).FirstOrDefault();

            p1.Preco = 100;
            p2.Preco = 200;

            try
            {
                //Usuário 2 grava primeiro
                prodDAO.Alterar(p2);
                Console.WriteLine("Usuário 2 gravou o produto 123 com sucesso!");
            }
            catch (Exception ex)
            {
                Console.WriteLine($"Erro usuário 2 NÃO conseguiu gravar (não deveria acontecer): {ex.Message}");
            }


            //Usuário 1 tenta gravar depois, mas é impedido devido a não estar com o objeto atualizado.
            try
            {
                prodDAO.Alterar(p1);
                Console.WriteLine("Usuário 1 gravou o produto 123 com sucesso!");
            }
            catch (Exception ex)
            {
                Console.WriteLine($"Tudo certo -> Erro usuário 1 NÃO conseguiu gravar: {ex.Message}");
            }
        }
Beispiel #2
0
        public IActionResult AlterarProduto(Produto p, int drpSub)
        {
            ViewBag.Sub = new SelectList(_subCategoriaDAO.Listar(),
                                         "idSub", "nome");
            p.SubCategoria = _subCategoriaDAO.BuscarPorId(drpSub);


            _produtoDAO.Alterar(p);
            return(RedirectToAction("Index"));
        }
        public IActionResult Alterar(Produto p)
        {
            //    Produto p = _produtoDAO.BuscarProdutosPorId(Convert.ToInt32(txtId));
            //    p.Nome = txtNome;
            //    p.Descricao = txtDescricao;
            //    p.Quantidade = txtQuantidade;
            //    p.Preco = txtPreco;

            _produtoDAO.Alterar(p);
            return(RedirectToAction("Index"));
        }
        public IActionResult Alterar(string txtId, string hdnId, string txtNome, string txtDescricao, string txtPreco, string txtQuantidade)
        {
            Produto p = _produtoDAO.BuscarProdutoPorId(Convert.ToInt32(hdnId));

            p.Nome       = txtNome;
            p.Descricao  = txtDescricao;
            p.Quantidade = Convert.ToInt32(txtQuantidade);
            p.Preco      = Convert.ToDouble(txtPreco);

            _produtoDAO.Alterar(p);
            return(RedirectToAction("Index"));
        }
        protected override void Salvar()
        {
            if (ObjetoCadastro.Id.Equals(String.Empty))
            {
                dao.Inserir(ObjetoCadastro);
            }
            else
            {
                dao.Alterar(ObjetoCadastro);
            }

            AtualizarLista();
        }
Beispiel #6
0
        public ProdutoModel Salvar(ProdutoModel oModel)
        {
            ProdutoDAO oDAO = new ProdutoDAO();

            if (oModel.Codigo.HasValue)
            {
                return(oDAO.Alterar(oModel));
            }
            else
            {
                return(oModel = oDAO.Incluir(oModel));
            }
        }
 public IActionResult Alterar(Produto produto)
 {
     if (ValidaCampos(produto))
     {
         Produto p = _produtoDAO.BuscarProdutoPorId(Convert.ToInt32(produto.ProdutoId));
         p.Nome       = produto.Nome;
         p.Descricao  = produto.Descricao;
         p.Preco      = produto.Preco;
         p.Quantidade = produto.Quantidade;
         _produtoDAO.Alterar(p);
         return(RedirectToAction("Index"));
     }
     return(View());
 }
Beispiel #8
0
 private void btnAlterar_Click(object sender, RoutedEventArgs e)
 {
     if (produto != null)
     {
         produto.Nome       = txtNome.Text;
         produto.Preco      = Convert.ToDouble(txtPreco.Text);
         produto.Quantidade = Convert.ToInt32(txtQuantidade.Text);
         ProdutoDAO.Alterar(produto);
         MessageBox.Show("O produto foi alterado com sucesso", "Vendas WPF",
                         MessageBoxButton.OK, MessageBoxImage.Information);
     }
     else
     {
         MessageBox.Show("O produto não existe", "Vendas WPF",
                         MessageBoxButton.OK, MessageBoxImage.Error);
     }
 }
Beispiel #9
0
        public long Alterar(ProdutoVO objVO)
        {
            ProdutoDAO dao = null;

            try
            {
                dao = new ProdutoDAO(GetSqlCommand());
                BeginTransaction();
                var id = dao.Alterar(objVO);
                Commit();
                return id;
            }
            catch (Exception ex)
            {
                Rollback();
                throw ex;
            }
        }
Beispiel #10
0
 public IActionResult Alterar(Produto p, IFormFile fupImagem)
 {
     if (fupImagem != null)
     {
         //pega o caminho da imagem; GUID é um identificador universal que não se repete
         string arquivo = Guid.NewGuid().ToString() + Path.GetExtension(fupImagem.FileName);
         //combina o camimho da imagem com a pasta da imagem
         string caminho = Path.Combine(_hosting.WebRootPath, "ecommerceImagens", arquivo);
         fupImagem.CopyTo(new FileStream(caminho, FileMode.Create));
         //pega a imagem e coloca no produto Imagem
         p.Imagem = arquivo;
     }
     else
     {
         p.Imagem = "semImagem.png";
     }
     _produtoDAO.Alterar(p);
     return(RedirectToAction("Index"));
 }
Beispiel #11
0
        private static void TestarProdutos()
        {
            var dao = new ProdutoDAO();
            var obj = new Produto {
                ProdutoId = "1", Codigo = 1, Descricao = "Coca-cola", Preco = 5.5
            };

            dao.Inserir(obj);

            obj.Descricao = "Coca-Cola Lata";
            dao.Alterar(obj);

            dao.Inserir(new Produto {
                ProdutoId = "2", Descricao = "Pepsi", Codigo = 2, Preco = 5
            });

            var listaProdutos = dao.RetornarTodos();

            foreach (var p in listaProdutos)
            {
                Console.WriteLine($"{p.Codigo} - {p.Descricao} - {p.Preco}");
            }
        }
 private void btnSalvar_Click(object sender, EventArgs e)
 {
     if (string.IsNullOrWhiteSpace(txtId.Text) || string.IsNullOrWhiteSpace(txtDescricao.Text))
     {
         MessageBox.Show("Insira o código do produto", "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Warning);
     }
     else
     {
         if (!txtDescricao.Text.Equals("") && !txtValorProduto.Text.Equals(""))
         {
             Produto produto = new Produto();
             produto           = ProdutoDAO.ObterProdutoPorId(int.Parse(txtId.Text));
             produto.Descricao = txtDescricao.Text;
             produto.Valor     = (float.Parse(txtValorProduto.Text));
             DialogResult result = MessageBox.Show("Deseja salvar as alterações? ", "Atenção", MessageBoxButtons.YesNo, MessageBoxIcon.Warning);
             if (result == DialogResult.Yes)
             {
                 if (ProdutoDAO.Alterar(produto))
                 {
                     MessageBox.Show("Produto alterado com sucesso.", "Informação", MessageBoxButtons.OK, MessageBoxIcon.Information);
                     txtDescricao.Enabled    = false;
                     txtValorProduto.Enabled = false;
                     btnSalvar.Enabled       = false;
                     btnEditar.Enabled       = true;
                 }
                 else
                 {
                     MessageBox.Show("Erro durante a operação", "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error);
                 }
             }
         }
         else
         {
             MessageBox.Show("Todos os campos são de preenchimento obrigatório.", "Alerta", MessageBoxButtons.OK, MessageBoxIcon.Warning);
         }
     }
 }
Beispiel #13
0
 public IActionResult Alterar(Produto produto)
 {
     _produtoDAO.Alterar(produto);
     return(RedirectToAction("Index", "Produto"));
 }
        private void btnIncluirPedido_Click(object sender, EventArgs e)
        {
            if (string.IsNullOrWhiteSpace(txtCodFuncionario.Text))
            {
                MessageBox.Show("Insira o código do funcionário");
            }
            if (string.IsNullOrWhiteSpace(txtCodCliente.Text))
            {
                MessageBox.Show("Insira o código do cliente");
            }
            else
            {
                Pedido         pedido   = new Pedido();
                Produto        produto  = new Produto();
                List <Produto> produtos = new List <Produto>();
                foreach (var item in lboProdutos.Items)
                {
                    produto = ProdutoDAO.ObterProdutoPorNome(item.ToString());
                    produtos.Add(produto);
                }
                pedido.Produtos = produtos;

                if (string.IsNullOrWhiteSpace(txtFuncionario.Text))
                {
                    MessageBox.Show("Insira um funcionário válido", "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                }
                else
                {
                    pedido.Funcionario = FuncionarioDAO.ObterFuncionarioPorId(int.Parse(txtCodFuncionario.Text));
                    pedido.Cliente     = ClienteDAO.ObterClientePorId(int.Parse(txtCodCliente.Text));
                    if (string.IsNullOrWhiteSpace(txtNomeCliente.Text))
                    {
                        MessageBox.Show("Insira um cliente válido", "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    }
                    else
                    {
                        pedido.Data = DateTime.Now;
                        // txtId.Text = pedido.Id.ToString();

                        if (lboProdutos.Items.Count <= 0)
                        {
                            MessageBox.Show("Insira um produto", "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                        }
                        else
                        {
                            pedido.TotalAPagar = float.Parse(txtTotalAPagar.Text);
                            pedido.Obs         = txtObservacoes.Text;
                            pedido.Status      = "Em andamento";
                            pedido.DataEnc     = DateTime.Now;

                            DialogResult r = MessageBox.Show("Tem certeza que deseja incluir este pedido?", "Informação", MessageBoxButtons.YesNo, MessageBoxIcon.Warning);
                            if (r == DialogResult.Yes)
                            {
                                if (PedidoDAO.Incluir(pedido))
                                {
                                    txtId.Text = pedido.Id.ToString();
                                    MessageBox.Show("Pedido nº " + txtId.Text + " incluido com sucesso", "Informação", MessageBoxButtons.OK, MessageBoxIcon.Information);
                                    foreach (Produto x in produtos)
                                    {
                                        x.Pedidos.Add(pedido);
                                        ProdutoDAO.Alterar(x);
                                    }
                                    txtCodFuncionario.Clear();
                                    txtFuncionario.Clear();
                                    txtCodCliente.Clear();
                                    txtNomeCliente.Clear();
                                    mskTel.Clear();
                                    txtEndereco.Clear();
                                    txtComplemento.Clear();
                                    txtBairro.Clear();
                                    txtCidade.Clear();
                                    cboDescricao.Items.Clear();
                                    lboProdutos.Items.Clear();
                                    txtValor.Clear();
                                    txtObservacoes.Clear();
                                    txtTotalAPagar.Clear();
                                    txtCodFuncionario.Focus();
                                }
                                else
                                {
                                    MessageBox.Show("Erro ao incluir o pedido", "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error);
                                }
                            }
                        }
                    }
                }
            }
        }
Beispiel #15
0
 public IActionResult Edit(Produto p)
 {
     produtoDAO.Alterar(p);
     return(RedirectToAction("Index", "Home"));
 }