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); } }
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(); }
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(); } }
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")); }
[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... }
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")); }
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"); }
[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")); }
public UpdateQuantidadeResponse UpdateQuantidade([FromBody] ItemCesta itemCesta) { return(cestaRepository.UpdateQuantidade(itemCesta)); }