Пример #1
0
        public void AddItem(string codigo)
        {
            var produto = contexto.Set <Produto>()
                          .Where(p => p.Codigo == codigo)
                          .SingleOrDefault();

            if (produto == null)
            {
                throw new ArgumentException("Produto não encontrado");
            }
            var pedido     = GetPedido();
            var itemPedido = contexto.Set <ItemCesta>()
                             .Where(i => i.Produto.Codigo == codigo &&
                                    i.Pedido.Id == pedido.Id)
                             .SingleOrDefault();

            if (itemPedido == null)
            {
                itemPedido = new ItemCesta(pedido, produto, 1, produto.PrecoDeFabrica);
                contexto.Set <ItemCesta>()
                .Add(itemPedido);
                contexto.SaveChanges();

                AddPrecoVenda(itemPedido.Id);
            }
        }
Пример #2
0
        public void AgregarACesta(HttpContextBase httpContext, string productoId)
        {
            Cesta cesta = new Cesta();

            cesta = GetCesta(httpContext, true);
            ItemCesta item = cesta.ItemsCesta.FirstOrDefault(i => i.IdProducto == productoId);

            if (item == null)
            {
                item = new ItemCesta()
                {
                    IdCesta    = cesta.Id,
                    IdProducto = productoId,
                    Cantidad   = 1
                };

                cesta.ItemsCesta.Add(item);
            }
            else
            {
                //item.BasketId = bas;
                //item.ProductId = prroductId;
                item.Cantidad = item.Cantidad + 1;
            }



            cestaContext.Commit();
        }
Пример #3
0
        public void RemoverDeCesta(HttpContextBase httpContext, string itemId)
        {
            Cesta     cesta = GetCesta(httpContext, true);
            ItemCesta item  = cesta.ItemsCesta.FirstOrDefault(i => i.Id == itemId);

            if (item != null)
            {
                cesta.ItemsCesta.Remove(item);
                cestaContext.Commit();
            }
        }
Пример #4
0
        public ActionResult AumentarQuantidade(int id)
        {
            Cesta     c    = (Cesta)Session["cesta"];
            ItemCesta item = c.ItensCesta.Where(i => i.Produto.IdProduto == id)
                             .FirstOrDefault();

            item.Quantidade++;

            c.ValorTotal = c.ItensCesta.Sum(i => i.ValorTotal);

            return(View("Cesta"));
        }
Пример #5
0
        [HttpGet] //indicar que o dado é resgatado por URL
        public ActionResult AdicionarProduto(int id)
        {
            try
            {
                Produto produto = new Produto();

                produto = referenciaServico.servicoProduto.ListarPorId(id);

                produto.ProdutoPromocao          = new ProdutoPromocao();
                produto.ProdutoPromocao.Promocao = new Promocao();

                var promocao = referenciaServico.servicoProdutoPromocao.Listar().Where(x => x.ProdutoId == produto.Id && x.Ativa == true).FirstOrDefault();
                if (promocao != null)
                {
                    produto.ProdutoPromocao.Promocao.Titulo = promocao.Promocao.Titulo;
                }

                //criar um item para a cesta de compras
                ItemCesta item = new ItemCesta();

                item.Produto = produto; //relacionando o item ao produto

                item.Quantidade = 1;    //quantidade inicial...

                //Verificar se existe uma cesta de compras já em sessão
                CestaCompra cesta = new CestaCompra();     //inicializando o objeto
                cesta.Itens = new List <ItemCesta>();      //inicializando a lista

                if (Session["cesta"] != null)              //verificando se já existe uma cesta em sessão
                {
                    cesta = (CestaCompra)Session["cesta"]; //resgatando o conteudo da sessão
                }

                //adicionar o item na cesta...
                cesta.AddItem(item);
                //gravar em sessão
                Session.Add("cesta", cesta);
            }
            catch (Exception e)
            {
                ViewBag.Mensagem = e.Message;
            }

            return(RedirectToAction("Index")); //nome da página...
        }
Пример #6
0
        public ActionResult AdicionarItem(int id)
        {
            try
            {
                ProdutoRepositorio rep = new ProdutoRepositorio();
                Cesta c = new Cesta();

                if (Session["cesta"] != null)
                {
                    c = (Cesta)Session["cesta"];
                }
                else
                {
                    c            = new Cesta();
                    c.ItensCesta = new List <ItemCesta>();
                }

                ItemCesta itemExistente = c.ItensCesta
                                          .Where(i => i.Produto.IdProduto == id)
                                          .FirstOrDefault();

                if (itemExistente != null)
                {
                    itemExistente.Quantidade++;
                }
                else
                {
                    ItemCesta item = new ItemCesta();
                    item.Quantidade = 1;
                    item.Produto    = rep.ObterPorId(id);
                    c.ItensCesta.Add(item);
                }

                c.ValorTotal = c.ItensCesta.Sum(i => i.ValorTotal);

                Session.Add("cesta", c);
            }
            catch (Exception e)
            {
                ViewBag.Mensagem = e.Message;
            }

            return(View("Cesta"));
        }
Пример #7
0
        public UpdateQuantidadeResponse UpdateQuantidade(ItemCesta itemCesta)
        {
            Console.WriteLine("-----------------------------------------");
            var itemCestaDb = itemCestaRepository.GetItemCesta(itemCesta.Id);

            if (itemCestaDb != null)
            {
                itemCestaDb.AtualizaQuantidade(itemCesta.Quantidade);
                if (itemCesta.Quantidade == 0)
                {
                    itemCestaRepository.RemoveItemPedido(itemCesta.Id);
                }
                contexto.SaveChanges();
                var carrinhoViewModel = new CarrinhoViewModel(GetPedido().Itens);

                return(new UpdateQuantidadeResponse(itemCestaDb, carrinhoViewModel));
            }
            throw new ArgumentException("Item não encontrado");
        }
Пример #8
0
        [HttpGet]//Pega pela url
        public ActionResult Comprar(int id)
        {
            try
            {
                ProdutoDal d = new ProdutoDal();
                Produto    p = d.FindById(id);

                ItemCesta item = new ItemCesta();
                item.IdProduto  = p.IdProduto;
                item.Nome       = p.Nome;
                item.Preco      = p.Preco;
                item.Quantidade = 1;
                item.Foto       = p.Foto;

                CestaCompras c = new CestaCompras();
                c.ItensCesta = new List <ItemCesta>();

                if (Session["cesta"] != null)
                {
                    c = (CestaCompras)Session["cesta"];
                }


                ItemCesta itemExistente = c.ItensCesta
                                          .Where(i => i.IdProduto == item.IdProduto)
                                          .FirstOrDefault();
                if (itemExistente == null)
                {
                    c.ItensCesta.Add(item);
                }
                else
                {
                    itemExistente.Quantidade++;
                }

                Session.Add("cesta", c);
            }
            catch (Exception ex)
            {
                ViewBag.Mensagem = ex.Message;
            }
            return(View("Cesta"));
        }
Пример #9
0
 public UpdateQuantidadeResponse UpdateQuantidade([FromBody] ItemCesta itemCesta)
 {
     return(cestaRepository.UpdateQuantidade(itemCesta));
 }