Exemple #1
0
        // GET: Produto/Details/5
        public IActionResult Detalhes(int?id)
        {
            try
            {
                ViewData["Mensagem"] = TempData["Mensagem"];

                List <ProdutoCarrinho> itensCarrinho = new List <ProdutoCarrinho>();
                if (TempData["itensCarrinho"] != null)
                {
                    itensCarrinho = JsonConvert.DeserializeObject <List <ProdutoCarrinho> >((string)TempData["itensCarrinho"]);
                    if (itensCarrinho != null && itensCarrinho.Count > 0)
                    {
                        ViewData["itensCarrinho"] = itensCarrinho;
                        ViewData["numeroItens"]   = itensCarrinho.Count();
                    }
                    else
                    {
                        ViewData["itensCarrinho"] = null;
                        ViewData["numeroItens"]   = 0;
                    }
                }
                else
                {
                    ViewData["itensCarrinho"] = null;
                    ViewData["numeroItens"]   = 0;
                }

                if (id == null)
                {
                    return(NotFound());
                }

                var produto = _produtoBll.BuscarProdutoId((int)id);
                if (produto == null)
                {
                    return(NotFound());
                }

                return(View(produto));
            }
            catch (Exception ex)
            {
                TempData["Mensagem"] = "Erro: " + ex.Message;
                return(RedirectToAction("Index", "Home"));
            }
        }
Exemple #2
0
 public IActionResult BuscaProduto(int id)
 {
     try
     {
         var produto = JsonConvert.SerializeObject(_produtoBll.BuscarProdutoId(id));
         if (produto != null && produto.Length > 0)
         {
             return(Ok(JsonConvert.SerializeObject(produto)));
         }
         else
         {
             return(Ok("Nenhum dado encontrado"));
         }
     }
     catch (Exception ex)
     {
         return(BadRequest("Erro: " + ex.Message));
     }
 }
        /// <summary>
        /// Adiciona item ao carrinho
        /// </summary>
        /// <param name="idProduto"></param>
        /// <returns></returns>
        public IActionResult AdicionarItem(int idProduto)
        {
            try
            {
                var produto = _produtoBll.BuscarProdutoId(idProduto);
                if (produto != null)
                {
                    //Verifica se há estoque
                    if (produto.QuantidadeDisponivel > 0)
                    {
                        ProdutoCarrinho dadosItem = new ProdutoCarrinho();

                        dadosItem.IdProduto     = idProduto;
                        dadosItem.Nome          = produto.Nome;
                        dadosItem.ValorUnitario = produto.Valor;

                        List <ProdutoCarrinho> itensCarrinho = new List <ProdutoCarrinho>();
                        if (TempData["itensCarrinho"] != null)
                        {
                            itensCarrinho = JsonConvert.DeserializeObject <List <ProdutoCarrinho> >((string)TempData["itensCarrinho"]);
                            if (itensCarrinho != null && itensCarrinho.Count > 0)
                            {
                                ViewData["itensCarrinho"] = itensCarrinho;
                                ViewData["numeroItens"]   = itensCarrinho.Count();
                            }
                            else
                            {
                                ViewData["itensCarrinho"] = null;
                                ViewData["numeroItens"]   = 0;
                            }
                        }
                        else
                        {
                            ViewData["itensCarrinho"] = null;
                            ViewData["numeroItens"]   = 0;
                        }

                        //Verifica se existem itens no carrinho
                        if (itensCarrinho != null)
                        {
                            int numeroItens = (int)TempData["numeroItens"];

                            //Verificar se o item já está no carrinho
                            var itemJaAdicionado = itensCarrinho.Find(c => c.IdProduto == idProduto);

                            if (itemJaAdicionado == null)
                            {
                                dadosItem.QuantidadeProduto = 1;
                                dadosItem.ValorTotal        = dadosItem.ValorUnitario;
                                itensCarrinho.Add(dadosItem);
                            }
                            else
                            {
                                itensCarrinho.Remove(itemJaAdicionado);
                                itemJaAdicionado.QuantidadeProduto = itemJaAdicionado.QuantidadeProduto++;
                                itemJaAdicionado.ValorTotal        = itemJaAdicionado.ValorUnitario * itemJaAdicionado.QuantidadeProduto;
                                itensCarrinho.Add(itemJaAdicionado);
                                dadosItem.QuantidadeProduto = itemJaAdicionado.QuantidadeProduto;
                            }

                            produto.QuantidadeDisponivel = produto.QuantidadeDisponivel - dadosItem.QuantidadeProduto;
                            _produtoBll.AtualizarProduto(produto);

                            TempData["Mensagem"]      = "Item adicionado com sucesso.";
                            TempData["itensCarrinho"] = JsonConvert.SerializeObject(itensCarrinho);
                            TempData["numeroItens"]   = itensCarrinho.Count;
                            return(RedirectToAction("Index", "Carrinho"));
                        }
                        else
                        {
                            itensCarrinho = new List <ProdutoCarrinho>();

                            dadosItem.QuantidadeProduto = 1;
                            dadosItem.ValorTotal        = dadosItem.ValorUnitario;

                            itensCarrinho.Add(dadosItem);

                            TempData["itensCarrinho"] = JsonConvert.SerializeObject(itensCarrinho);
                            TempData["numeroItens"]   = itensCarrinho.Count;

                            return(RedirectToAction("Index", "Carrinho"));
                        }
                    }
                    else
                    {
                        TempData["Mensagem"]      = "Estoque do produto esgotado.";
                        TempData["itensCarrinho"] = ViewData["itensCarrinho"];
                        TempData["numeroItens"]   = ViewData["numeroItens"];
                        return(RedirectToAction("Index", "Home"));
                    }
                }
                else
                {
                    TempData["Mensagem"]      = "Estoque do produto esgotado.";
                    TempData["itensCarrinho"] = ViewData["itensCarrinho"];
                    TempData["numeroItens"]   = ViewData["numeroItens"];
                    return(RedirectToAction("Index", "Home"));
                }
            }
            catch (Exception ex)
            {
                TempData["Mensagem"] = "Erro: " + ex.Message;
                return(RedirectToAction("Index", "Carrinho"));
            }
        }