public void IncluirNoCarrinho(int id) { CarrinhoId = GetCarrinhoId(); var carrinhoItem = _db.CarrinhoItems.SingleOrDefault(c => c.CarrinhoId == CarrinhoId && c.ProdutoId == id); if (carrinhoItem == null) { carrinhoItem = new CarrinhoItem() { ItemId = Guid.NewGuid().ToString(), ProdutoId = id, CarrinhoId = CarrinhoId, Produto = _db.Produtos.SingleOrDefault(c => c.ProdutoID == id), Quantidade = 1, DataCriacao = DateTime.Now }; _db.CarrinhoItems.Add(carrinhoItem); } else { carrinhoItem.Quantidade++; } _db.SaveChanges(); }
public RedirectToActionResult AdicionarItemNoCarrinho(int produtoId) { var produto = _context.Produtos.SingleOrDefault(x => x.ProdutoId == produtoId); if (produto == null) { NotFound(); } var carrinhoItem = _context.CarrinhoItens.SingleOrDefault( c => c.Produto.ProdutoId == produto.ProdutoId && c.CarrinhoId == _carrinho.CarrinhoSessaoId ); if (carrinhoItem != null) { // ACRESCENTA carrinhoItem.Quant++; } else { // NOVO carrinhoItem = new CarrinhoItem { CarrinhoId = _carrinho.CarrinhoSessaoId, Produto = produto, Quant = 1 }; _context.CarrinhoItens.Add(carrinhoItem); } _context.SaveChanges(); return(RedirectToAction("Index")); }
public async Task <bool> InserirItemCarrinhoAsync(NovoCarrinhoItem novoCarrinhoItem) { if (novoCarrinhoItem == null) { throw new ArgumentNullException(nameof(novoCarrinhoItem)); } var carrinhoItem = await _context.Set <CarrinhoItem>() .Where(cItem => cItem.ClienteId.Equals(novoCarrinhoItem.ClienteId) && cItem.ProdutoId.Equals(novoCarrinhoItem.ProdutoId)) .SingleOrDefaultAsync(); if (carrinhoItem == null) { carrinhoItem = new CarrinhoItem(novoCarrinhoItem); await _context.Set <CarrinhoItem>() .AddAsync(carrinhoItem); } else { carrinhoItem.Quantidade += novoCarrinhoItem.Quantidade; } await _context.SaveChangesAsync(); return(true); }
/// <summary> /// Salvar o item adicionado no carrinho, no banco de dados /// </summary> private bool salvar(CarrinhoItem OCarrinhoItem) { var ItemExistente = this.OCarrinhoItemConsultaBL.listar(OCarrinhoItem.idOrganizacao, OCarrinhoItem.idPessoa.toInt(), OCarrinhoItem.idSessao, false) .Where(x => x.idProduto == OCarrinhoItem.idProduto) .OrderByDescending(x => x.id).FirstOrDefault(); if (ItemExistente == null) { if (OCarrinhoItem.idPessoa == 0) { OCarrinhoItem.idPessoa = null; } OCarrinhoItem.dtInclusao = DateTime.Now; this.db.CarrinhoItem.Add(OCarrinhoItem); this.db.SaveChanges(); return(OCarrinhoItem.id > 0); } ItemExistente.qtde = (byte)(ItemExistente.qtde + OCarrinhoItem.qtde); this.db.CarrinhoItem.Where(x => x.id == ItemExistente.id) .Update(x => new CarrinhoItem { qtde = ItemExistente.qtde }); return(ItemExistente.id > 0); }
//metodo para incluir no Carrinho public void incluirNoCarrinho(int id) { // Retorna o produto do banco de dados CarrinhoId = GetCarrinhoId(); var carrinhoItem = _db.CarrinhoItens.SingleOrDefault(c => c.CarrinhoId == CarrinhoId && c.ProdutoId == id); if (carrinhoItem == null) { // Cria um novo item no carrinho se não existir carrinhoItem = new CarrinhoItem() { ItemId = Guid.NewGuid().ToString(), ProdutoId = id, CarrinhoId = CarrinhoId, Produto = _db.Produtos.SingleOrDefault(p => p.ProdutoID == id), Quantidade = 1, DataCriacao = DateTime.Now }; _db.CarrinhoItens.Add(carrinhoItem); } else { // se o item não existe acrescenta um unidade carrinhoItem.Quantidade += 1; } _db.SaveChanges(); }
public async Task <IActionResult> AtualizarItemCarrinho(Guid produtoId, CarrinhoItem item) { var carrinho = await ObterCarrinhoCliente(); var itemCarrinho = await ObterItemCarrinhoValidado(produtoId, carrinho, item); if (itemCarrinho == null) { return(CustomResponse()); } carrinho.AtualizarUnidades(itemCarrinho, item.Quantidade); ValidarCarrinho(carrinho); if (!OperacaoValida()) { return(CustomResponse()); } _context.CarrinhoItens.Update(itemCarrinho); _context.CarrinhoCliente.Update(carrinho); await PersistirDados(); return(CustomResponse()); }
private void ManipularNovoCarrinho(CarrinhoItem item) { var carrinho = new CarrinhoCliente(_user.ObterUserId()); carrinho.AdicionarItem(item); _context.CarrinhoCliente.Add(carrinho); }
/* * Comportamento apos o click do botao remover */ public void RemoverClicked(Object sender, EventArgs args) { Button button = (Button)sender; CarrinhoItem itemToRemove = (CarrinhoItem)button.CommandParameter; ViewModel.Items.Remove(itemToRemove); ViewModel.UpdateTotal(); }
private async Task ManipularNovoCarinho(CarrinhoItem item) { var carrinho = new CarrinhoCliente(_user.ObterUserId()); carrinho.AdicionarItem(item); ValidarCarrinho(carrinho); await _carrinhoRepository.Adicionar(carrinho); }
public ActionResult Decrementa(int id) { Carrinho carrinho = GetCarrinhoDaSessao(); CarrinhoItem item = carrinho.Itens[id]; item.Quantidade--; return(Redirect("Index")); }
public void Gravar(CarrinhoItem obj) { using (ISession session = NHibernateHelper.AbreSessao()) { ITransaction tx = session.BeginTransaction(); session.Merge(obj); tx.Commit(); } }
public Int32 Novo(CarrinhoItem obj) { using (ISession session = NHibernateHelper.AbreSessao()) { ITransaction tx = session.BeginTransaction(); session.Save(obj); tx.Commit(); return(obj.Id); } }
//Essa Action será chamada da View de Livros (/Livro/Index) //Ela vai servir para adicionar o livro que tem o id passado por parâmetro ao carrinho do cliente public ActionResult AdicionaLivro(int id) { //Vou buscar o cliente (o primeiro nesse caso) Cliente cliente = db.Clientes.First(); //Vou procurar se já existe um livro com id igual ao parâmetro no carrinho if (cliente.CarrinhoItens.Any(i => i.LivroId == id)) { //Se eu encontrar o livro dentro do carrinho, vou incrementar a quantidade dele cliente.CarrinhoItens.First(i => i.LivroId == id).Quantidade++; /*! O if acima faz o mesmo que o seguinte código: * * List<CarrinhoItem> itens = cliente.CarrinhoItens.ToList(); * for(int i = 0; i < itens.Count(); i++) * { * CarrinhoItem item = itens[i]; * * if(item.LivroId == id) * { * item.Quantidade = item.Quantidade + 1; * } * } * */ } else //Se não encontrei o livro dentro do carrinho { //Vou buscar o livro que tem o id passado por parâmetro Livro livro = db.Livroes.Find(id); //Vou criar um item novo CarrinhoItem item = new CarrinhoItem(); //Com quantidade = 1 item.Quantidade = 1; //Vou atribuir o livro encontrado ao item item.Livro = livro; //E vou adicionar o item ao carrinho do cliente cliente.CarrinhoItens.Add(item); } //Independente se o item já existia no carrinho, ou é um item novo, vou salvar db.SaveChanges(); //E retornar para a View de Index do Carrinho return(RedirectToAction("Index")); }
public void Gravar(CarrinhoItem carrinhoItem) { try { using (var context = new pdvContext()) { context.Add(carrinhoItem); context.SaveChanges(); } } catch (Exception) { // } }
private void ManipularCarrinhoExistente(CarrinhoCliente carrinho, CarrinhoItem item) { var produtoItemExistente = carrinho.CarrinhoItemExistente(item); carrinho.AdicionarItem(item); ValidarCarrinho(carrinho); if (produtoItemExistente) { context.CarrinhoItens.Update(carrinho.ObterPorProdutoId(item.ProdutoId)); } else { context.CarrinhoItens.Add(item); } context.CarrinhoCliente.Update(carrinho); }
private async Task ManipularCarinhoExistente(CarrinhoCliente carrinho, CarrinhoItem item) { var carrinhoItemExiste = carrinho.CarrinhoItemExiste(item); carrinho.AdicionarItem(item); if (carrinhoItemExiste) { _carrinhoRepository.AtualizarItem(carrinho.ObterProdutoPorId(item.ProdutoId)); } else { await _carrinhoRepository.AdicionarItem(item); } ValidarCarrinho(carrinho); _carrinhoRepository.Atualizar(carrinho); }
private void addToCart_Click(object sender, EventArgs e) { try { if (listProdutos.SelectedItems.Count > 0) { ListViewItem selected = listProdutos.SelectedItems[0]; CarrinhoItem itemCart = new CarrinhoItem(); int codigo = Convert.ToInt32(selected.SubItems[0].Text); itemCart.setCodigo(codigo); itemCart.setQuantidade(1); // Caso seja feito um método para add mais itens de uma vez Cart.addToCart(itemCart); } } catch (Exception ex) { Console.WriteLine(ex.ToString()); } }
public void adicionarProduto(Produto prod, int quantidade) { if (quantidade <= prod.getEstoque()) { CarrinhoItem item = new CarrinhoItem(); item.setCodigo(prod.codigo); item.setQuantidade(1); MainForm.Cart.addToCart(item); listCarrinho.Items.Clear(); // Alimenta lista do carrinho List <CarrinhoItem> items = MainForm.Cart.getItems(); int totalItens = 0; double totalPreco = 0.0; foreach (CarrinhoItem cart_item in items) { Produto produto = new Produto(); produto.codigo = cart_item.getCodigo(); string[] rowCart = { cart_item.getCodigo().ToString(), produto.getNome(), cart_item.getQuantidade().ToString(), "R$ " + (produto.getPreco() * cart_item.getQuantidade()).ToString("#.##") }; ListViewItem row = new ListViewItem(rowCart); listCarrinho.Items.Add(row); totalItens += cart_item.getQuantidade(); totalPreco += (produto.getPreco() * cart_item.getQuantidade()); } txtTotalItems.Text = totalItens.ToString(); txtTotalPrice.Text = "R$ " + totalPreco.ToString("#.##"); } }
public async Task <IActionResult> AdicionarItemCarrinho(CarrinhoItem item) { var carrinho = await ObterCarrinhoCliente(); if (carrinho == null) { ManipularNovoCarrinho(item); } else { ManipularCarrinhoExistente(carrinho, item); } if (!OperacaoValida()) { return(CustomResponse()); } await PersistirDados(); return(CustomResponse()); }
public async Task <IActionResult> AdicionarItemCarrinho(CarrinhoItem carrinhoItem) { var carrinho = await _carrinhoRepository.ObterCarrinhoCliente(_user.ObterUserId()); if (carrinho is null) { await ManipularNovoCarinho(carrinhoItem); } else { await ManipularCarinhoExistente(carrinho, carrinhoItem); } if (!OperacaoValida()) { return(CustomResponse()); } await PersistirDados(); return(CustomResponse()); }
public ActionResult Add(int?id) { var usuario = new LoginViewModel().Buscar(User.Identity.Name); if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } var carrinho = db.Carrinhos.Where(x => x.UsuarioId == usuario.Id).FirstOrDefault(); if (carrinho == null) { carrinho = new Carrinho() { UsuarioId = usuario.Id }; db.Carrinhos.Add(carrinho); } var itemCarrinho = carrinho.Items.Where(x => x.MidiaId == id).FirstOrDefault(); if (itemCarrinho != null) { carrinho.Items.Remove(itemCarrinho); db.SaveChanges(); } itemCarrinho = new CarrinhoItem() { MidiaId = (int)id }; carrinho.Items.Add(itemCarrinho); db.SaveChanges(); return(RedirectToAction("Index")); }
public async Task <IActionResult> AtualizarItemCarrinho(Guid produtoId, CarrinhoItem item) { var carrinho = await _carrinhoRepository.ObterCarrinhoCliente(_user.ObterUserId()); var itemCarrinho = await ObterItemCarrinhoValidado(produtoId, carrinho, item); if (itemCarrinho is null) { return(CustomResponse()); } carrinho.AtualizarUnidades(itemCarrinho, item.Quantidade); ValidarCarrinho(carrinho); if (!OperacaoValida()) { return(CustomResponse()); } _carrinhoRepository.AtualizarItem(itemCarrinho); _carrinhoRepository.Atualizar(carrinho); await PersistirDados(); return(CustomResponse()); }
private async Task <CarrinhoItem> ObterItemCarrinhoValidado(Guid produtoId, CarrinhoCliente carrinho, CarrinhoItem item = null) { if (item != null && produtoId != item.ProdutoId) { AdicionarErroProcessamento("O item não corresponde ao informado"); return(null); } if (carrinho == null) { AdicionarErroProcessamento("Carrinho não encontrado"); return(null); } var itemCarrinho = await _context.CarrinhoItens .FirstOrDefaultAsync(i => i.CarrinhoId == carrinho.Id && i.ProdutoId == produtoId); if (itemCarrinho == null || !carrinho.CarrinhoItemExistente(itemCarrinho)) { AdicionarErroProcessamento("O item não está no carrinho"); return(null); } return(itemCarrinho); }
private void btnGerarTabelas_Click(object sender, EventArgs e) { //UnidadeMedida UnidadeMedidaAccess umAccess = new UnidadeMedidaAccess(); var umLista = umAccess.Lista(); if (umLista.Count == 0) { UnidadeMedida umObj = new UnidadeMedida(); umObj.Descricao = "UNIDADE"; umObj.Sigla = "UNID"; umAccess.Novo(umObj); } //Fabricante FabricanteAccess fAccess = new FabricanteAccess(); var fLista = fAccess.Lista(); if (fLista.Count == 0) { Fabricante fObj = new Fabricante(); fObj.Descricao = "FABRICANTE"; fAccess.Novo(fObj); } //CarrinhoPessoaTipo CarrinhoPessoaTipoAccess ctpAccess = new CarrinhoPessoaTipoAccess(); var ctpLista = ctpAccess.Lista(); if (ctpLista.Count == 0) { CarrinhoPessoaTipo ctpObj = new CarrinhoPessoaTipo(); ctpObj.Descricao = "CLIENTE"; ctpAccess.Novo(ctpObj); ctpObj.Descricao = "VENDEDOR"; ctpAccess.Novo(ctpObj); } //FormaPagamento FormaPagamentoAccess fpAccess = new FormaPagamentoAccess(); var fpLista = fpAccess.Lista(); if (fpLista.Count == 0) { FormaPagamento fpObj = new FormaPagamento(); fpObj.Descricao = "DINHEIRO"; fpAccess.Novo(fpObj); fpObj.Descricao = "CARTÃO DÉBITO"; fpAccess.Novo(fpObj); fpObj.Descricao = "CARTÃO CRÉDITO"; fpAccess.Novo(fpObj); } //Parcelamento Status ParcelamentoStatusAccess psAccess = new ParcelamentoStatusAccess(); var psLista = psAccess.Lista(); if (psLista.Count == 0) { ParcelamentoStatus psObj = new ParcelamentoStatus(); psObj.Descricao = "ATIVO"; psAccess.Novo(psObj); psObj.Descricao = "INATIVO"; psAccess.Novo(psObj); } //FormaPagamento FormaPagamentoParcelamentoAccess fppAccess = new FormaPagamentoParcelamentoAccess(); var fppLista = fppAccess.Lista(); if (fppLista.Count == 0) { FormaPagamentoParcelamento fppObj = new FormaPagamentoParcelamento(); FormaPagamento fp = new FormaPagamento(); ParcelamentoStatus ps = new ParcelamentoStatus(); fppObj.QtdParcelas = 1; fppObj.Juros = 0.00; fp.Id = 1; fppObj.FormaPagamento = fp; ps.Id = 1; fppObj.ParcelamentoStatus = ps; fppAccess.Novo(fppObj); fppObj.QtdParcelas = 1; fppObj.Juros = 0.00; fp.Id = 2; fppObj.FormaPagamento = fp; ps.Id = 1; fppObj.ParcelamentoStatus = ps; fppAccess.Novo(fppObj); fppObj.QtdParcelas = 1; fppObj.Juros = 0.00; fp.Id = 3; fppObj.FormaPagamento = fp; ps.Id = 1; fppObj.ParcelamentoStatus = ps; fppAccess.Novo(fppObj); } //FormaPagamento ItemAccess iAccess = new ItemAccess(); var iLista = iAccess.Lista(); Int32 IdItem1 = 0; Int32 IdItem2 = 0; Int32 IdItem3 = 0; if (iLista.Count == 0) { Item iObj = new Item(); UnidadeMedida uObj = new UnidadeMedida(); uObj.Id = 1; iObj.Nome = "ANTENA WIRELLES"; iObj.Preco = 45.38; iObj.UnidadeMedida = uObj; iObj.Quantidade = 100; iObj.Desconto = 6.25; IdItem1 = iAccess.Novo(iObj); iObj.Nome = "BICILETA 21 MARCHAS"; iObj.Preco = 835.28; iObj.UnidadeMedida = uObj; iObj.Quantidade = 50; iObj.Desconto = 15.24; IdItem2 = iAccess.Novo(iObj); iObj.Nome = "FEIJAO TIO URBANO"; iObj.Preco = 5.29; iObj.UnidadeMedida = uObj; iObj.Quantidade = 1000; iObj.Desconto = 5.25; IdItem3 = iAccess.Novo(iObj); iObj.Nome = "CHOCOLATE BATON"; iObj.Preco = 0.70; iObj.UnidadeMedida = uObj; iObj.Quantidade = 1000; iObj.Desconto = 0.00; iAccess.Novo(iObj); } //Carrinho CarrinhoAccess cAccess = new CarrinhoAccess(); var cLista = cAccess.Lista(); Int32 IdCarrinho = 0; if (cLista.Count == 0) { Carrinho cObj = new Carrinho(); cObj.Id = 0; cObj.DataAbertura = DateTime.Now; cObj.UsuarioAbertura = "patrikmuller"; IdCarrinho = cAccess.Novo(cObj); } //CarrinhoItem CarrinhoItemAccess ciAccess = new CarrinhoItemAccess(); if (IdCarrinho != 0) { var ciLista = ciAccess.Lista(IdCarrinho); if (ciLista.Count == 0) { Carrinho carrinho = new Carrinho(); Item item = new Item(); CarrinhoItem ciObj = new CarrinhoItem(); carrinho.Id = IdCarrinho; item = iAccess.Ler(IdItem1); ciObj.Carrinho = carrinho; ciObj.Item = item; ciObj.Ordem = 1; ciObj.Preco = item.Preco; ciObj.Quantidade = 1.234; ciObj.Desconto = 0.00; ciAccess.Novo(ciObj); item = iAccess.Ler(IdItem2); ciObj.Carrinho = carrinho; ciObj.Item = item; ciObj.Ordem = 2; ciObj.Preco = item.Preco; ciObj.Quantidade = 1.000; ciObj.Desconto = 0.00; ciAccess.Novo(ciObj); item = iAccess.Ler(IdItem3); ciObj.Carrinho = carrinho; ciObj.Item = item; ciObj.Ordem = 3; ciObj.Preco = item.Preco; ciObj.Quantidade = 2.123; ciObj.Desconto = 0.00; ciAccess.Novo(ciObj); } } //CarrinhoFormaPagamento CarrinhoFormaPagamentoAccess cfpAccess = new CarrinhoFormaPagamentoAccess(); if (IdCarrinho != 0) { var cfpLista = cfpAccess.GetAll(IdCarrinho); if (cfpLista.Count == 0) { Carrinho carrinho = new Carrinho(); FormaPagamento fp = new FormaPagamento(); CarrinhoFormaPagamento cfpObj = new CarrinhoFormaPagamento(); carrinho.Id = IdCarrinho; fp = fpAccess.Ler(1); cfpObj.Id = 0; cfpObj.Carrinho = carrinho; cfpObj.FormaPagamento = fp; cfpObj.QtdParcelas = 1; cfpObj.ValorPagar = 1235.23; cfpObj.ValorParcela = 535.32; cfpObj.Juros = 0.00; cfpAccess.Novo(cfpObj); } } lblTabelas.Text = "Gravado com Sucesso!"; }
private void button1_Click(object sender, EventArgs e) { if (listProdutos.SelectedItems.Count > 0) { if (String.IsNullOrEmpty(txtQtd.Text) || String.IsNullOrWhiteSpace(txtQtd.Text)) { MessageBox.Show("Digite uma quantidade válida.", "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error); } else if (Convert.ToInt32(txtQtd.Text) <= 0) { MessageBox.Show("Digite uma quantidade válida.", "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error); } else { int verificaEstoque = Convert.ToInt32(listProdutos.FocusedItem.SubItems[2].Text) - Convert.ToInt32(txtQtd.Text); if (verificaEstoque >= 0) { listProdutos.FocusedItem.SubItems[2].Text = verificaEstoque.ToString(); int codigo = Convert.ToInt32(listProdutos.SelectedItems[0].SubItems[0].Text); Produto prod = new Produto(); prod.codigo = codigo; if (prod.inStock() && prod.available()) { CarrinhoItem item = new CarrinhoItem(); item.setCodigo(prod.codigo); item.setQuantidade(Convert.ToInt32(txtQtd.Text)); MainForm.Cart.addToCart(item); listCarrinho.Items.Clear(); // Alimenta lista do carrinho List <CarrinhoItem> items = MainForm.Cart.getItems(); int totalItens = 0; double totalPreco = 0.0; foreach (CarrinhoItem cart_item in items) { Produto produto = new Produto(); produto.codigo = cart_item.getCodigo(); string[] rowCart = { cart_item.getCodigo().ToString(), produto.getNome(), cart_item.getQuantidade().ToString(), "R$ " + (produto.getPreco() * cart_item.getQuantidade()).ToString("#.##") }; ListViewItem row = new ListViewItem(rowCart); listCarrinho.Items.Add(row); totalItens += cart_item.getQuantidade(); totalPreco += (produto.getPreco() * cart_item.getQuantidade()); } txtTotalItems.Text = totalItens.ToString(); txtTotalPrice.Text = "R$ " + totalPreco.ToString("#.##"); } else { MessageBox.Show("O produto escolhido está sem estoque ou indisponível"); } } else { MessageBox.Show("A quantidade escolhida é maior que o estoque atual do produto.", "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error); } } } else { MessageBox.Show("Selecione um produto.", "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
private async Task <CarrinhoItem> ObterItemCarrinhoValidado(Guid produtoId, CarrinhoCliente carrinho, CarrinhoItem item = null) { if (item != null && produtoId != item.ProdutoId) { AdicionarErroProcessamento("O item não corresponde ao id informado!"); return(null); } if (carrinho is null) { AdicionarErroProcessamento("Carrinho não encontrado!"); return(null); } var itemCarrinho = await _carrinhoRepository.ObterCarrinhoItem(carrinho.Id, produtoId); if (itemCarrinho is null) { AdicionarErroProcessamento("O item não está no carrinho!"); } return(itemCarrinho); }
/// <summary> /// Adicionar um produto ao carrinho de compras /// </summary> public void adicionar(CarrinhoItem OItemCarrinho) { OItemCarrinho.idTipoItem = 0; this.salvar(OItemCarrinho); }
public async Task AdicionarItem(CarrinhoItem carrinhoItem) { await _context.CarrinhoItens.AddAsync(carrinhoItem); }
public void AtualizarItem(CarrinhoItem carrinhoItem) { _context.CarrinhoItens.Update(carrinhoItem); }
public void RemoverItem(CarrinhoItem carrinhoItem) { _context.CarrinhoItens.Remove(carrinhoItem); }