Exemplo n.º 1
0
        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"));
        }
Exemplo n.º 3
0
        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);
        }
Exemplo n.º 5
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);
        }
Exemplo n.º 8
0
        /*
         * 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();
        }
Exemplo n.º 9
0
        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"));
        }
Exemplo n.º 11
0
        public void Gravar(CarrinhoItem obj)
        {
            using (ISession session = NHibernateHelper.AbreSessao())
            {
                ITransaction tx = session.BeginTransaction();

                session.Merge(obj);

                tx.Commit();
            }
        }
Exemplo n.º 12
0
        public Int32 Novo(CarrinhoItem obj)
        {
            using (ISession session = NHibernateHelper.AbreSessao())
            {
                ITransaction tx = session.BeginTransaction();

                session.Save(obj);

                tx.Commit();
                return(obj.Id);
            }
        }
Exemplo n.º 13
0
        //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"));
        }
Exemplo n.º 14
0
 public void Gravar(CarrinhoItem carrinhoItem)
 {
     try
     {
         using (var context = new pdvContext())
         {
             context.Add(carrinhoItem);
             context.SaveChanges();
         }
     }
     catch (Exception)
     {
         //
     }
 }
Exemplo n.º 15
0
        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);
        }
Exemplo n.º 16
0
        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);
        }
Exemplo n.º 17
0
        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());
            }
        }
Exemplo n.º 18
0
        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());
        }
Exemplo n.º 20
0
        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());
        }
Exemplo n.º 21
0
        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"));
        }
Exemplo n.º 22
0
        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);
        }
Exemplo n.º 24
0
        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!";
        }
Exemplo n.º 25
0
        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);
            }
        }
Exemplo n.º 26
0
        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);
        }
Exemplo n.º 28
0
 public async Task AdicionarItem(CarrinhoItem carrinhoItem)
 {
     await _context.CarrinhoItens.AddAsync(carrinhoItem);
 }
Exemplo n.º 29
0
 public void AtualizarItem(CarrinhoItem carrinhoItem)
 {
     _context.CarrinhoItens.Update(carrinhoItem);
 }
Exemplo n.º 30
0
 public void RemoverItem(CarrinhoItem carrinhoItem)
 {
     _context.CarrinhoItens.Remove(carrinhoItem);
 }