예제 #1
0
        public Boolean Salvar(Produto produto)
        {
            Boolean salvar;

            if (produto.ProdutoID == 0)
            {
                // Novo registro
                _context.Produtos.Add(produto);
                salvar = true;
            }
            else
            {
                // Atualização de registro
                Produto prod = _context.Produtos.Find(produto.ProdutoID);
                salvar = false;

                if (prod != null)
                {
                    prod.Nome           = produto.Nome;
                    prod.Descricao      = produto.Descricao;
                    prod.Preco          = produto.Preco;
                    prod.Categoria      = produto.Categoria;
                    prod.Imagem         = produto.Imagem;
                    prod.ContentType    = produto.ContentType;
                }
            }

            _context.SaveChangesAsync();
            return salvar;
        }
예제 #2
0
        public ActionResult Alterar(Produto produto, HttpPostedFileBase image = null)
        {
            if (ModelState.IsValid)
            {
                _repositorio = new ProdutosRepositorio();

                if (image != null)
                {
                    SavePictureDirectory(produto, image);
                }

                Boolean save = _repositorio.Salvar(produto);

                if (save)
                {
                    TempData["mensagem"] = String.Format("{0} registrado com sucesso!", produto.Nome);
                }
                else
                {
                    TempData["mensagem"] = String.Format("{0} foi atualizado com sucesso!", produto.Nome);
                }

                return RedirectToAction("Index");
            }

            return View(produto);
        }
        public void AdicionarItem()
        {
            // Arrange
            Produto produto1 = new Produto()
            {
                ProdutoID = 1,
                Nome = "Teste1"
            };

            Produto produto2 = new Produto()
            {
                ProdutoID = 2,
                Nome = "Teste2"
            };

            Carrinho carrinho = new Carrinho();
            carrinho.AdicionarItem(produto1, 3);
            carrinho.AdicionarItem(produto2, 4);

            CarrinhoController controller = new CarrinhoController();

            // Act
            controller.Adicionar(carrinho, 2, 1, ""); // 2 = ID do Produto que NÃO há no BD

            // Assert
            Assert.AreEqual(carrinho.ItensCarrinhos.Count(), 2); // PASSED
            // Assert.AreEqual(carrinho.ItensCarrinhos.Count(), 1); // FAIL
            Assert.AreEqual(carrinho.ItensCarrinhos.ToArray()[0].Produto.ProdutoID, 1);
        }
예제 #4
0
        public void AdicionarItem(Produto produto, int quantidade)
        {
            ItemCarrinho item = _itensCarrinho.FirstOrDefault(p => p.Produto.ProdutoID == produto.ProdutoID);

            if (item == null)
            {
                _itensCarrinho.Add(new ItemCarrinho
                {
                    Produto = produto,
                    Quantidade = quantidade
                });
            }
            else
            {
                item.Quantidade = quantidade;
            }
        }
예제 #5
0
        private void SavePictureDirectory(Produto produto, HttpPostedFileBase image)
        {
            String directory    = CreateDirectory();
            String extension    = Path.GetExtension(image.FileName);
            String imageName    = String.Format("p_{0}{1}"
                                                    , produto.ProdutoID == 0 ? _repositorio.GetTopID() : produto.ProdutoID
                                                    , extension
                                                );

            produto.Imagem      = imageName;
            produto.ContentType = image.ContentType;

            image.SaveAs(directory + imageName);
        }
예제 #6
0
 private void RemovePictureDirectory(Produto produto)
 {
     String directory = CreateDirectory();
     System.IO.File.Delete(directory + produto.Imagem);
 }
예제 #7
0
 public void RemoverItem(Produto produto)
 {
     _itensCarrinho.RemoveAll(p => p.Produto.ProdutoID == produto.ProdutoID);
 }