public EstruturaVenda InserirProduto([FromBody] EstruturaEntradaCriarVenda entrada, int idVenda) { EstruturaVenda estruturaVenda = new EstruturaVenda(); try { BaseVendas baseProdutos = new BaseVendas(); if (entrada == null) { throw new Exception("o produto a ser inserido não pode ser nulo"); } if (idVenda == 0) { throw new Exception("Favor selecionar uma venda!"); } string ListaVendasSession = HttpContext.Session.GetString("Vendas"); if (string.IsNullOrEmpty(ListaVendasSession)) { throw new Exception("Não há vendas Registradas"); } else { estruturaVenda.Vendas = JsonConvert.DeserializeObject <List <Models.Vendas> >(ListaVendasSession); } Models.Vendas VendaAlterada = estruturaVenda.Vendas.Where(x => x.idVenda == idVenda).SingleOrDefault(); if (VendaAlterada == null) { throw new Exception("A venda selecionada não existe"); } foreach (var item in entrada.EntradaCriarVenda) { EstruturaProduto estruturaProduto = APIListarProdutoPorID(item.idProduto); Models.Produto produto = new Models.Produto(); produto.idProduct = item.idProduto; produto.productName = estruturaProduto.Produtos[0].productName; produto.description = estruturaProduto.Produtos[0].description; produto.cathegory = estruturaProduto.Produtos[0].cathegory; produto.price = estruturaProduto.Produtos[0].price; produto.quantidade = item.quantidadeProdutos; VendaAlterada.produtos.Add(produto); VendaAlterada.valorTotal = VendaAlterada.valorTotal + estruturaProduto.Produtos[0].price * item.quantidadeProdutos; } string listaVendas = JsonConvert.SerializeObject(estruturaVenda.Vendas); HttpContext.Session.SetString("Vendas", listaVendas); return(estruturaVenda); } catch (Exception ex) { estruturaVenda.isError = true; estruturaVenda.descricaoErro = ex.Message; return(estruturaVenda); } }
public EstruturaVenda Post(EstruturaEntradaCriarVenda entrada) { EstruturaVenda estruturaVenda = new EstruturaVenda(); string ListaVendasSession = HttpContext.Session.GetString("Vendas"); if (!string.IsNullOrEmpty(ListaVendasSession)) { estruturaVenda.Vendas = JsonConvert.DeserializeObject <List <Models.Vendas> >(ListaVendasSession); } List <Models.Vendas> listVendas = new List <Models.Vendas>(); try { if (entrada == null) { //Erro throw new Exception("A venda a ser criada não pode ser nula"); } //Realizar outras validações Models.Vendas venda = new Models.Vendas(); venda.produtos = new List <Models.Produto>(); foreach (var item in entrada.EntradaCriarVenda) { EstruturaProduto estruturaProduto = APIListarProdutoPorID(item.idProduto); Models.Produto produto = new Models.Produto(); produto.idProduct = item.idProduto; produto.productName = estruturaProduto.Produtos[0].productName; produto.description = estruturaProduto.Produtos[0].description; produto.cathegory = estruturaProduto.Produtos[0].cathegory; produto.price = estruturaProduto.Produtos[0].price; produto.quantidade = item.quantidadeProdutos; venda.produtos.Add(produto); venda.valorTotal = venda.valorTotal + estruturaProduto.Produtos[0].price * item.quantidadeProdutos; if (!string.IsNullOrEmpty(ListaVendasSession)) { List <Models.Vendas> Vendas = JsonConvert.DeserializeObject <List <Models.Vendas> >(ListaVendasSession); venda.idVenda = 0; foreach (var sale in Vendas) { if (sale.idVenda > venda.idVenda) { venda.idVenda = sale.idVenda; } } venda.idVenda++; } else { venda.idVenda = 1; } } estruturaVenda.Vendas.Add(venda); string listaVendas = JsonConvert.SerializeObject(estruturaVenda.Vendas); HttpContext.Session.SetString("Vendas", listaVendas); return(estruturaVenda); } catch (Exception ex) { estruturaVenda.isError = true; estruturaVenda.descricaoErro = ex.Message; return(estruturaVenda); } }