Beispiel #1
0
        /*
         * CRUD - Cadastrar, Read, Update, Delete
         * Adicionar Item, Remover Item, Alterar Quantidade
         */
        public void Cadastrar(ProdutoItem item)
        {
            List <ProdutoItem> Lista;

            if (_cookie.Existe(Key))
            {
                Lista = Consultar();
                var ItemLocalizado = Lista.SingleOrDefault(a => a.Id == item.Id);

                if (ItemLocalizado == null)
                {
                    Lista.Add(item);
                }
                else
                {
                    ItemLocalizado.UnidadesPedidas = ItemLocalizado.UnidadesPedidas + 1;
                }
            }
            else
            {
                Lista = new List <ProdutoItem>();
                Lista.Add(item);
            }

            Salvar(Lista);
        }
Beispiel #2
0
        public void Cadastrar(ProdutoItem item)
        {
            var Lista = new List <ProdutoItem>();

            if (_cookie.Existe(Key))
            {
                Lista = Consultar();
                var ItemLocalizado = Lista.SingleOrDefault(a => a.Id == item.Id);

                if (ItemLocalizado == null)
                {
                    Lista.Add(item);
                }
                else
                {
                    ItemLocalizado.QuantidadeCarrinhoProduto += 1;
                }
            }
            else
            {
                Lista = new List <ProdutoItem>();
                Lista.Add(item);
            }
            Salvar(Lista);
        }
Beispiel #3
0
        // CRUD

        public void Cadastrar(ProdutoItem item)
        {
            List <ProdutoItem> Lista;

            if (_cookie.Existe(Key))
            {
                // LER E ADICIONAR ITENS NO CARRINHO EXISTENTE
                Lista = Consultar();
                var ItemLocalizado = Lista.SingleOrDefault(a => a.Id == item.Id);

                if (ItemLocalizado == null)
                {
                    Lista.Add(item);
                }
                else
                {
                    ItemLocalizado.QuantidadeProdutoCarrinho = ItemLocalizado.QuantidadeProdutoCarrinho + 1;
                }
            }
            else
            {
                // CRIAR O COOKIE COM O ITEM DO CARRINHO
                Lista = new List <ProdutoItem>();
                Lista.Add(item);

                // SALVAR UM NOVO ITEM
            }
            // SALVAR DADOS
            Salvar(Lista);
        }
Beispiel #4
0
        //Azure Data Lake and Stream Analytics
        public IActionResult AdicionarItem(int id)
        {
            Produto produto = _produtoRepository.ObterProduto(id);

            if (produto == null)
            {
                return(BadRequest(new { mensagem = "Oops! Este produto não foi encontrado" }));
            }
            else if (produto.Quantidade == 0)
            {
                return(BadRequest(new { mensagem = "Oops! Produto indisponível no estoque!" }));
            }
            ProdutoItem produtoItem = _carrinhoCompra.ConsultarProduto(id);

            if (produtoItem != null && produtoItem.QuantidadeCarrinhoProduto == produto.Quantidade)
            {
                return(BadRequest(new { mensagem = "Oops! Não temos essa quantidade em estoque!" }));
            }
            //A QUANTIDADE CARRINHO PRODUTO = 1 SO FUNCIONARA COM NOVOS. O RESTO SERA INCREMENTADO
            var item = new ProdutoItem()
            {
                Id = id, QuantidadeCarrinhoProduto = 1
            };

            _carrinhoCompra.Cadastrar(item);
            return(Ok());
        }
Beispiel #5
0
        public async Task <ActionResult <ProdutoItem> > PostProdutoItem(ProdutoItem item)
        {
            _context.ProdutoItems.Add(item);
            await _context.SaveChangesAsync();

            return(CreatedAtAction(nameof(GetProdutoItem), new { id = item.Id }, item));
        }
        public void Cadastrar(ProdutoItem item)
        {
            List <ProdutoItem> Lista;

            if (this._cookie.Existe(Key))
            {
                //Ler - Adicionar o item no carrinho Existente
                Lista = Consultar();
                var ItemLocalizado = Lista.SingleOrDefault(X => X.Id == item.Id);

                if (ItemLocalizado == null)
                {
                    Lista.Add(item);
                    //Salvar lista
                }
                else
                {
                    ItemLocalizado.QuantidadeProdutoCarrinho = ItemLocalizado.QuantidadeProdutoCarrinho + 1;
                    //Adicionar mais um na qtd do item
                }
            }
            else
            {
                Lista = new List <ProdutoItem>();
                Lista.Add(item);
                //Criar o cookie com o item no Carrinho
            }
            //Salvar
            Salvar(Lista);
        }
Beispiel #7
0
        public void Cadastrar(ProdutoItem item)
        {
            List <ProdutoItem> lista;

            if (_cookie.Existe(Key))
            {
                lista = Consultar();
                var itemLocalizado = lista.SingleOrDefault(a => a.Id == item.Id);

                if (itemLocalizado == null)
                {
                    lista.Add(item);
                }
                else
                {
                    itemLocalizado.QuantidadeProdutoCarrinho = itemLocalizado.QuantidadeProdutoCarrinho + 1;
                }
            }
            else
            {
                lista = new List <ProdutoItem>();
                lista.Add(item);
            }

            Salvar(lista);
        }
Beispiel #8
0
        public ProdutoItem ConsultarProduto(int id)
        {
            List <ProdutoItem> produtos    = Consultar();
            ProdutoItem        produtoItem = produtos.Where(a => a.Id == id).FirstOrDefault();

            return(produtoItem);
        }
 public static void FillProductUrl(this ProdutoItem item, string picBaseUrl, bool azureStorageEnabled)
 {
     if (item != null)
     {
         item.PictureUri = azureStorageEnabled
            ? picBaseUrl + item.PictureFileName
            : picBaseUrl.Replace("[0]", item.Id.ToString());
     }
 }
        public IActionResult AlterarQuantidade(int id, int quantidade)
        {
            var item = new ProdutoItem()
            {
                Id = id, QuantidadeProdutoCarrinho = quantidade
            };

            _carrinhoCompra.Atualizar(item);
            return(RedirectToAction(nameof(Index)));
        }
        public ProdutoItemView Obter(int idMarca, int idCategoria, int idSegmento, int idCor, int idProduto, int idProdutoItem)
        {
            ProdutoItem obj = null;

            obj = _ProdutoItemRepository.Obter(idMarca, idCategoria, idSegmento, idCor, idProduto, idProdutoItem);

            var result = _mapper.Map <ProdutoItemView>(obj);

            return(result);
        }
        //Persistir o objecto e salvar na base de dados
        private bool inserir(ProdutoItem OProdutoItem)
        {
            OProdutoItem.setDefaultInsertValues();

            db.ProdutoItem.Add(OProdutoItem);

            db.SaveChanges();

            return(OProdutoItem.id > 0);
        }
Beispiel #13
0
        public void Atualizar(ProdutoItem item)
        {
            var Lista          = Consultar();
            var ItemLocalizado = Lista.SingleOrDefault(a => a.Id == item.Id);

            if (ItemLocalizado != null)
            {
                ItemLocalizado.UnidadesPedidas = item.UnidadesPedidas;
                Salvar(Lista);
            }
        }
Beispiel #14
0
        public void Remover(ProdutoItem item)
        {
            var Lista          = Consultar();
            var ItemLocalizado = Lista.SingleOrDefault(a => a.Id == item.Id);

            if (ItemLocalizado != null)
            {
                Lista.Remove(ItemLocalizado);
                Salvar(Lista);
            }
        }
        public void Atualizar(ProdutoItem item)
        {
            var Lista          = Consultar();
            var ItemLocalizado = Lista.SingleOrDefault(X => X.Id == item.Id);

            if (ItemLocalizado != null)
            {
                ItemLocalizado.QuantidadeProdutoCarrinho = item.QuantidadeProdutoCarrinho;
                Salvar(Lista);
            }
        }
Beispiel #16
0
        public void Atualizar(ProdutoItem item)
        {
            var lista          = Consultar();
            var itemLocalizado = lista.SingleOrDefault(a => a.Id == item.Id);

            if (itemLocalizado != null)
            {
                itemLocalizado.QuantidadeProdutoCarrinho = item.QuantidadeProdutoCarrinho;

                Salvar(lista);
            }
        }
Beispiel #17
0
        public IActionResult Index()
        {
            List <ProdutoItem> produtoItemCompleto = new List <ProdutoItem>();
            List <ProdutoItem> produtoItemCarrinho = _carrinhoCompra.Consultar();

            foreach (var item in produtoItemCarrinho)
            {
                Produto     produto     = _produtoRepository.ObterProduto(item.Id);
                ProdutoItem produtoItem = _mapper.Map <ProdutoItem>(produto);
                produtoItem.QuantidadeProdutoCarrinho = item.QuantidadeProdutoCarrinho;
                produtoItemCompleto.Add(produtoItem);
            }
            return(View(produtoItemCompleto));
        }
Beispiel #18
0
        public IActionResult AdicionarItem(int id)
        {
            Produto produto = _produtoRepository.ObterProduto(id);

            if (produto == null)
            {
                return(BadRequest());
            }
            var item = new ProdutoItem()
            {
                Id = id, QuantidadeCarrinhoProduto = 1
            };

            _carrinhoCompra.Cadastrar(item);
            return(Ok());
        }
Beispiel #19
0
        protected List <ProdutoItem> CarregarProdutoDB()
        {
            List <ProdutoItem> ProdutosCarrinho = _carrinhoCompra.Consultar();
            List <ProdutoItem> ProdutosCompleto = new List <ProdutoItem>();

            foreach (var item in ProdutosCarrinho)
            {
                Produto     produto     = _produtoRepository.ObterProduto(item.Id);
                ProdutoItem produtoItem = _mapper.Map <ProdutoItem>(produto);
                produtoItem.QuantidadeCarrinhoProduto = item.QuantidadeCarrinhoProduto;

                ProdutosCompleto.Add(produtoItem);
            }

            return(ProdutosCompleto);
        }
        public ActionResult Detalhes(long id)
        {
            EnderecoArmazenagem enderecoArmazenagem = _unitOfWork.EnderecoArmazenagemRepository.GetById(id);

            var viewModel = Mapper.Map <EnderecoArmazenagemDetalhesViewModel>(enderecoArmazenagem);

            var loteProdutoEndereco = _unitOfWork.LoteProdutoEnderecoRepository.PesquisarRegistrosPorEndereco(viewModel.IdEnderecoArmazenagem);

            // Popula Itens na lista de produtos do Endereço Armazenagem
            loteProdutoEndereco.ForEach(lpe =>
            {
                if (!lpe.EnderecoArmazenagem.IsPicking)
                {
                    var item = new ProdutoItem
                    {
                        NumeroLote          = lpe.Lote == null ? "-" : lpe.Lote.IdLote.ToString(),
                        NumeroNf            = lpe.Lote == null ? "-" : lpe.Lote.NotaFiscal.Numero.ToString(),
                        CodigoReferencia    = lpe.Produto.Referencia,
                        DataInstalacao      = lpe.DataHoraInstalacao.ToString("dd/MM/yyyy HH:mm:ss"),
                        Descricao           = lpe.Produto.Descricao,
                        Multiplo            = lpe.Produto.MultiploVenda.ToString(),
                        Peso                = lpe.Produto.PesoBruto.ToString("n2"),
                        QuantidadeInstalada = lpe.Quantidade.ToString(),
                        UsuarioResponsavel  = _unitOfWork.PerfilUsuarioRepository.GetByUserId(lpe.AspNetUsers.Id).Nome
                    };

                    viewModel.Items.Add(item);
                }
                else
                {
                    var item = new ProdutoItem
                    {
                        CodigoReferencia    = lpe.Produto.Referencia,
                        DataInstalacao      = lpe.DataHoraInstalacao.ToString("dd/MM/yyyy HH:mm:ss"),
                        Descricao           = lpe.Produto.Descricao,
                        Multiplo            = lpe.Produto.MultiploVenda.ToString("n2"),
                        Peso                = lpe.Produto.PesoBruto.ToString("n2"),
                        QuantidadeInstalada = lpe.Quantidade.ToString(),
                        UsuarioResponsavel  = _unitOfWork.PerfilUsuarioRepository.GetByUserId(lpe.AspNetUsers.Id).Nome
                    };

                    viewModel.Items.Add(item);
                }
            });

            return(View(viewModel));
        }
Beispiel #21
0
        public IActionResult AlterarQuantidade(int id, int quantidade)
        {
            Produto produto = _produtoRepository.ObterProduto(id);

            if (quantidade < 1)
            {
                return(BadRequest());
            }

            var item = new ProdutoItem()
            {
                Id = id, QuantidadeCarrinhoProduto = quantidade
            };

            _carrinhoCompra.Atualizar(item);
            return(Ok());
        }
        private List <ProdutoItem> CarregarProdutoDB()
        {
            List <ProdutoItem> produtoItemNoCarrinho = _cookieCarrinhoCompra.Consultar();

            List <ProdutoItem> produtoItemCompleto = new List <ProdutoItem>();

            foreach (var item in produtoItemNoCarrinho)
            {
                Produto produto = _produtoRepository.ObterProduto(item.Id);

                ProdutoItem produtoItem = _mapper.Map <ProdutoItem>(produto);
                produtoItem.QuantidadeProdutoCarrinho = item.QuantidadeProdutoCarrinho;

                produtoItemCompleto.Add(produtoItem);
            }

            return(produtoItemCompleto);
        }
        public void Inserir(ProdutoItem input)
        {
            var p = new DynamicParameters();

            p.AddDefault("@IdMarca", input.IdMarca);
            p.AddDefault("@IdCategoria", input.IdCategoria);
            p.AddDefault("@IdSegmento", input.IdSegmento);
            p.AddDefault("@IdCor", input.IdCor);
            p.AddDefault("@IdProduto", input.IdProduto);
            p.AddDefault("@Tamanho", input.Tamanho);
            p.AddAtivo(input.Ativo);
            p.AddUsuarioCriacao(input.UsuarioCriacao);
            p.AddDataCriacao(input.DataCriacao);
            p.AddUsuarioAtualizacao(input.UsuarioAtualizacao);
            p.AddDataAtualizacao(input.DataAtualizacao);

            _connection.Execute("PROC_I_PRODUTO_ITEM", p, commandType: System.Data.CommandType.StoredProcedure);
        }
        //Verificar se deve-se atualizar um registro existente ou criar um novo
        public bool salvar(ProdutoItem OProdutoItem)
        {
            var flagSucesso = false;

            OProdutoItem.UnidadeMedida = null;

            if (OProdutoItem.id > 0)
            {
                flagSucesso = this.atualizar(OProdutoItem);
            }

            if (OProdutoItem.id == 0)
            {
                flagSucesso = this.inserir(OProdutoItem);
            }

            return(flagSucesso);
        }
Beispiel #25
0
        public IActionResult AdicionarItem(int id)
        {
            Produto produto = _produtoRepository.ObterProduto(id);

            if (produto == null)
            {
                return(View("Não Existe Item"));
            }
            else
            {
                var item = new ProdutoItem()
                {
                    Id = id, QuantidadeProdutoCarrinho = 1
                };
                _carrinhoCompra.Cadastrar(item);
                return(RedirectToAction(nameof(Index)));
            }
        }
        protected List <ProdutoItem> CarregarProdutoDB()
        {
            List <ProdutoItem> ProdutosCarrinho = _carrinhoCompra.Consultar();
            List <ProdutoItem> ProdutosCompleto = new List <ProdutoItem>();

            foreach (var item in ProdutosCarrinho)
            {
                Produto produto = _produtoRepository.ObterProduto(item.Id);

                //NECESSARIO PARA TER ACESSO A PROPRIEDADE REFERENTE A QUANTIDADE NO CARRINHO
                //O AutoMapper FAZ ISSO FACILMENTE
                ProdutoItem produtoItem = _mapper.Map <ProdutoItem>(produto);
                produtoItem.QuantidadeCarrinhoProduto = item.QuantidadeCarrinhoProduto;

                ProdutosCompleto.Add(produtoItem);
            }

            return(ProdutosCompleto);
        }
Beispiel #27
0
        public IActionResult AlterarQuantidade(int id, int quantidade)
        {
            Produto produto = _produtoRepository.ObterProduto(id);

            if (quantidade < 1)
            {
                return(BadRequest(new { mensagem = "A quantidade não pode ser 0! Caso queira remova o item do carrinho!", qtdMax = produto.Quantidade }));
            }
            else if (quantidade > produto.Quantidade)
            {
                return(BadRequest(new { mensagem = "Oops! Temos somente " + produto.Quantidade + " unidades no estoque!", qtdMax = produto.Quantidade }));
            }
            var item = new ProdutoItem()
            {
                Id = id, QuantidadeCarrinhoProduto = quantidade
            };

            _carrinhoCompra.Atualizar(item);
            return(Ok());
        }
        public async Task <IActionResult> UpdateProduct([FromBody] ProdutoItem productToUpdate)
        {
            var produtoItem = await _produtoContext.ProdutoItems
                              .SingleOrDefaultAsync(i => i.Id == productToUpdate.Id);

            if (produtoItem == null)
            {
                return(NotFound(new { Message = $"Item with id {productToUpdate.Id} not found." }));
            }

            var oldPrice = produtoItem.Price;
            var raiseProductPriceChangedEvent = oldPrice != productToUpdate.Price;


            // Update current product
            produtoItem = productToUpdate;
            _produtoContext.ProdutoItems.Update(produtoItem);
            if (_settings.UseCache)
            {
                Cache <ProdutoItem> mycache = new Cache <ProdutoItem>();
                await mycache.SetAsync("PRODUTO" + productToUpdate.Id.ToString(), productToUpdate);
            }

            if (raiseProductPriceChangedEvent) // Save product's data and publish integration event through the Event Bus if price has changed
            {
                //Create Integration Event to be published through the Event Bus
                var priceChangedEvent = new ProdutoPriceChangedIntegrationEvent(produtoItem.Id, productToUpdate.Price, oldPrice);

                // Achieving atomicity between original Catalog database operation and the IntegrationEventLog thanks to a local transaction
                await _produtoIntegrationEventService.SaveEventAndCatalogContextChangesAsync(priceChangedEvent);

                // Publish through the Event Bus and mark the saved event as published
                await _produtoIntegrationEventService.PublishThroughEventBusAsync(priceChangedEvent);
            }
            else // Just save the updated product because the Product's Price hasn't changed.
            {
                await _produtoContext.SaveChangesAsync();
            }

            return(CreatedAtAction(nameof(GetItemById), new { id = productToUpdate.Id }, null));
        }
        public IActionResult Index()
        {
            List <ProdutoItem> produtoItemNoCarrinho = _carrinhoCompra.Consultar();
            List <ProdutoItem> produtoItemCompleto   = new List <ProdutoItem>();

            foreach (var item in produtoItemNoCarrinho)
            {
                //TODO - AutoMapper
                Produto     produto     = _produtoRepository.ObterProduto(item.Id);
                ProdutoItem produtoItem = new ProdutoItem();
                produtoItem.Id      = produto.Id;
                produtoItem.Nome    = produto.Nome;
                produtoItem.Imagens = produto.Imagens;
                produtoItem.Valor   = produto.Valor;
                produtoItem.QuantidadeProdutoCarrinho = item.QuantidadeProdutoCarrinho;

                produtoItemCompleto.Add(produtoItem);
            }

            return(View(produtoItemCompleto));
        }
        public IActionResult AlterarQuantidade(int id, int quantidade)
        {
            Produto produto = _produtoRepository.ObterProduto(id);

            if (quantidade < 1)
            {
                return(BadRequest(new { mensagem = Mensagen.MSG_E007 }));
            }
            else if (quantidade > produto.Quantidade)
            {
                return(BadRequest(new { mensagem = Mensagen.MSG_E008 }));
            }
            else
            {
                var item = new ProdutoItem()
                {
                    Id = id, QuantidadeProdutoCarrinho = quantidade
                };
                _cookieCarrinhoCompra.Atualizar(item);
                return(Ok(new { mensagem = Mensagen.MSG_S001 }));
            }
        }