public IActionResult AdicionaVenda([FromBody] Venda dadosVenda) { try { var estoqueVendas = JsonConvert.SerializeObject(_vendaBll.InserirVenda(dadosVenda)); if (estoqueVendas != null && estoqueVendas.Length > 0) { return(Ok(JsonConvert.SerializeObject(estoqueVendas))); } else { return(Ok("Nenhum dado encontrado")); } } catch (Exception ex) { return(BadRequest("Erro: " + ex.Message)); } }
/// <summary> /// Confirma a compra, registrando dados de venda e dos produtos da venda. /// </summary> /// <returns></returns> public IActionResult ConfirmarCompra() { try { 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; } //Recupera dados do usuário logado var dadosUsuario = _usuarioBll.BuscarUsuarioCpf(_httpContextAccessor.HttpContext.User.FindFirstValue(ClaimTypes.Name)); if (dadosUsuario != null) { if (itensCarrinho != null && itensCarrinho.Count > 0) { //Registra a venda efetuada Venda dadosVenda = new Venda(); dadosVenda.Data = DateTime.Now; dadosVenda.IdUsuario = dadosUsuario.Id; dadosVenda.Status = 1; dadosVenda.VendaAtiva = true; dadosVenda.Valor = itensCarrinho.Sum(a => a.ValorTotal); Venda dadosVendaEfetuada = _vendaBll.InserirVenda(dadosVenda); //Registra os produtos da venda efetuada foreach (var item in itensCarrinho) { ProdutoVenda dadosProdutoVenda = new ProdutoVenda(); dadosProdutoVenda.ValorTotal = item.ValorTotal; dadosProdutoVenda.ValorUnitario = item.ValorUnitario; dadosProdutoVenda.IdProduto = item.IdProduto; dadosProdutoVenda.IdVenda = dadosVendaEfetuada.Id; dadosProdutoVenda.QuantidadeProduto = item.QuantidadeProduto; _produtoVendaBll.InserirProdutoVenda(dadosProdutoVenda); } } TempData["itensCarrinho"] = null; TempData["numeroItens"] = 0; TempData["Mensagem"] = "Compra realizada com sucesso."; return(RedirectToAction("Index", "Carrinho")); } else { TempData["itensCarrinho"] = JsonConvert.SerializeObject(itensCarrinho); TempData["numeroItens"] = itensCarrinho.Count(); ModelState.AddModelError("Message", "Necessário fazer cadastro e login."); return(RedirectToAction("Index", "Carrinho")); } } catch (Exception ex) { TempData["Mensagem"] = "Erro: " + ex.Message; return(RedirectToAction("Index", "Carrinho")); } }