コード例 #1
0
        public void DeveListarProdutos()
        {
            // System Under Test
            ContextStub contexto = InicializarBancoEmMemoria(MethodBase.GetCurrentMethod().Name);

            RepositorioProduto repositorioProduto = new RepositorioProduto(contexto);

            // Exercise
            repositorioProduto.Adicionar(new Product {
                Id = 1, Nome = "Prod1", Preco = "2,75", Categoria = "Esporte"
            });
            repositorioProduto.Adicionar(new Product {
                Id = 2, Nome = "Prod2", Preco = "2,75", Categoria = "Esporte2"
            });
            repositorioProduto.Adicionar(new Product {
                Id = 3, Nome = "Prod3", Preco = "2,75", Categoria = "Esporte3"
            });
            repositorioProduto.Adicionar(new Product {
                Id = 4, Nome = "Prod4", Preco = "2,75", Categoria = "Esporte4"
            });

            // Assertives
            var produtos = repositorioProduto.Entidades().ToList();

            Assert.AreEqual(4, produtos.Count, "Deveriam possuir {0} produtos.", 4);

            var produto = produtos.FirstOrDefault();

            Assert.AreEqual(1, produto.Id, "Deveria ter sido cadastrado o produto de id{0}.", 1);
        }
コード例 #2
0
        public void DeveAtualizarUmProduto()
        {
            // System Under Test
            ContextStub contexto = InicializarBancoEmMemoria(MethodBase.GetCurrentMethod().Name);

            RepositorioProduto repositorioProduto = new RepositorioProduto(contexto);

            // Pre-conditions
            repositorioProduto.Adicionar(new Product {
                Id = 1, Nome = "Prod1", Preco = "2,75", Categoria = "Esporte"
            });
            var produto = repositorioProduto.Entidades().FirstOrDefault();

            // Exercise
            var nomeAlterado = "ProdAlterado";

            produto.Nome = nomeAlterado;
            contexto.Update(produto);
            contexto.SaveChanges();


            // Assertives
            var produtos = repositorioProduto.Entidades().ToList();

            Assert.AreEqual(1, produtos.Count, "Deveria possuir um produto.");

            var produtoAlterado = produtos.FirstOrDefault();

            Assert.AreEqual(nomeAlterado, produtoAlterado.Nome, "Deveria ter sido cadastrado o produto de id{0}.", nomeAlterado);
        }
コード例 #3
0
        public void DeveAdicionarUmProduto()
        {
            // System Under Test
            ContextStub contexto = InicializarBancoEmMemoria(MethodBase.GetCurrentMethod().Name);

            RepositorioProduto repositorioProduto = new RepositorioProduto(contexto);

            // Pre-conditions
            List <Product> produtosZerados = repositorioProduto.Entidades().ToList();

            // Exercise
            repositorioProduto.Adicionar(new Product {
                Id = 1, Nome = "Prod1", Preco = "2,75", Categoria = "Esporte"
            });

            var produtos = repositorioProduto.Entidades().ToList();

            // Assertives
            Assert.AreEqual(0, produtosZerados.Count, "Não deveria possuir nenhum produto, pois não existem registros.");
            Assert.AreEqual(1, produtos.Count, "Deveria possuir um produto.");

            var produto = produtos.FirstOrDefault();

            Assert.AreEqual(1, produto.Id, "Deveria ter sido cadastrado o produto de id{0}.", 1);
        }
コード例 #4
0
        private void btSalvar_Click(object sender, RoutedEventArgs e)
        {
            var produto = (Produto)this.DataContext;

            produto.marca = (Marca)cbMarca.SelectedItem;

            if (lbCodigo.Content == null || lbCodigo.Content.ToString() == "0")
            {
                // novo
                try
                {
                    repoProduto.Adicionar(produto);
                    MessageBox.Show("Adicionado com Sucesso!", "Sucesso !", MessageBoxButton.OK, MessageBoxImage.Information);
                }
                catch (Exception ex)
                {
                    MessageBox.Show("Nao foi possivel Salvar!" + ex.Message, "Erro ao Salvar", MessageBoxButton.OK, MessageBoxImage.Error);
                }
            }
            else
            {
                // edicao
                produto.codigo = Int32.Parse(lbCodigo.Content.ToString());
                repoProduto.Atualizar(produto);
                MessageBox.Show("Atualizado com Sucesso!", "Sucesso !", MessageBoxButton.OK, MessageBoxImage.Information);
            }

            this.Close();
        }
コード例 #5
0
 public Produto Adicionar(Produto produto)
 {
     try
     {
         persistencia.Adicionar(produto);
         return(produto);
     }
     catch (PersistenciaException e)
     {
         throw new NegocioException("Erro ao tentar adicionar o objeto.", e);
     }
 }
コード例 #6
0
        public NotificationResult Salvar(DominioProduto entidade)
        {
            var NotificationResult = new NotificationResult();

            try
            {
                if (NotificationResult.IsValid)
                {
                    _Produto.Adicionar(entidade);
                    NotificationResult.Add("Produto cadastrado com sucesso!");
                }

                return(NotificationResult);
            }

            catch (Exception ex)
            {
                return(NotificationResult.Add(new NotificationError(ex.Message)));
            }
        }
コード例 #7
0
        private void btnSalvar_Click(object sender, RoutedEventArgs e)
        {
            var produto = (Produto)this.DataContext;

            if (cmbMarcas.SelectedItem == null)         // condição de marca
            {
                MessageBox.Show("Selecione uma marca"); //manda selecionar uma marca para o produto
            }
            else
            {
                produto.Marca = (Marca)cmbMarcas.SelectedItem; //usa a marca selecionada para cadastrar o produto
            }

            if (cmbFornecedor.SelectedItem == null)         // condição de fornecedor
            {
                MessageBox.Show("Selecione um fornecedor"); //manda selecionar um fornecedor para o produto
            }
            else
            {
                produto.Fornecedor = (Fornecedor)cmbFornecedor.SelectedItem; //usa o fornecedor selecionado para cadastrar o produto
            }

            if (produto.Codigo == 0)                   //condição adicionar e atualizar produto no banco de dados
            {
                repositorioProduto.Adicionar(produto); //cria um novo produto no banco de dados
                MessageBox.Show("Produco cadastrado com sucesso");

                var JanelaProdutos = new FormProdutos();
                JanelaProdutos.Show();
            }
            else
            {
                repositorioProduto.Atualizar(produto); //atualiza um produto já cadastrado
                MessageBox.Show("Produco atualizado com sucesso");

                var JanelaProdutos = new FormProdutos();
                JanelaProdutos.Show();
            }
            this.Close();
        }
コード例 #8
0
        public void DeveRemoverUmProduto()
        {
            // System Under Test
            ContextStub contexto = InicializarBancoEmMemoria(MethodBase.GetCurrentMethod().Name);

            RepositorioProduto repositorioProduto = new RepositorioProduto(contexto);

            // Pre-conditions
            repositorioProduto.Adicionar(new Product {
                Id = 1, Nome = "Prod1", Preco = "2,75", Categoria = "Esporte"
            });
            var produto = repositorioProduto.Entidades().FirstOrDefault();

            // Exercise
            repositorioProduto.Excluir(produto.Id);
            contexto.SaveChanges();


            // Assertives
            var produtos = repositorioProduto.Entidades().ToList();

            Assert.AreEqual(0, produtos.Count, "Não deveria possuir um produto, pois o único foi excluído.");
        }
コード例 #9
0
 public Produto Adicionar(Produto produto)
 {
     persistencia.Adicionar(produto);
     return(produto);
 }