public IActionResult Post([FromBody] VendaDTO vDTO) { Venda venda = new Venda(); var prodBD = vDTO.ProdutosId.ToList(); if (prodBD.Count <= 0) { Response.StatusCode = 400; return(new ObjectResult(new{ msg = "Produto não localizado, favor inserir um produto válido!" })); } try{ List <int> produId = new List <int>(); foreach (var verPBD in prodBD) { var verBD = database.Produtos.First(p => p.Id == verPBD); produId.Add(verPBD); } ; }catch { Response.StatusCode = 400; return(new ObjectResult(new{ msg = "Produto não localizado, favor inserir um produto válido!" })); } if (vDTO.ClienteId <= 0) { Response.StatusCode = 400; return(new ObjectResult(new{ msg = "Id de cliente inválido!" })); } try{ venda.Cliente = database.Clientes.First(c => c.Id == vDTO.ClienteId); }catch { Response.StatusCode = 400; return(new ObjectResult(new{ msg = "Cliente inexistente!" })); } vDTO.DataCompra = DateTime.Now; database.Vendas.Add(venda); database.SaveChanges(); foreach (var produtosId in vDTO.ProdutosId) { VendaProduto vendasProdutos1 = new VendaProduto(); vendasProdutos1.ProdutoId = produtosId; vendasProdutos1.VendaId = venda.Id; database.VendasProdutos.Add(vendasProdutos1); database.SaveChanges(); } ; foreach (var vendaProdFornId in vDTO.ProdutosId) { VendaFornecedor vendaForn1 = new VendaFornecedor(); vendaForn1.VendaId = venda.Id; vendaForn1.ProdutoId = vendaProdFornId; var produto = database.Produtos.Include(f => f.Fornecedor).First(p => p.Id == vendaProdFornId); vendaForn1.FornecedorId = produto.Fornecedor.Id; database.VendaFornecedores.Add(vendaForn1); database.SaveChanges(); } ; double totalCompra = 0; foreach (var produtoCompra in vDTO.ProdutosId) { var produtoVendas = database.Produtos.First(p => p.Id == produtoCompra); if (produtoVendas.Promocao == true) { totalCompra = produtoVendas.ValorPromocao + totalCompra; } else { totalCompra = produtoVendas.Valor + totalCompra; } } ; vDTO.TotalCompra = totalCompra; venda.TotalCompra = totalCompra; database.SaveChanges(); Response.StatusCode = 201; return(new ObjectResult(new{ msg = "Venda efetuada com sucesso! Valor total: R$ " + totalCompra })); }
public IActionResult Put([FromBody] VendaDTO venda) { if (venda.Id >= 0) { try{ var vendaLoc = database.Vendas.First(v => v.Id == venda.Id); if (venda.ClienteId > 0) { try{ var cliLoc = database.Clientes.First(c => c.Id == venda.ClienteId); vendaLoc.Cliente = cliLoc; database.SaveChanges(); }catch { Response.StatusCode = 400; return(new ObjectResult(new{ msg = "Cliente não localizado!" })); } } else { vendaLoc.Cliente = vendaLoc.Cliente; database.SaveChanges(); } if (venda.ProdutosId != null) { var prod = database.VendasProdutos.Where(p => p.VendaId == venda.Id); var forn = database.VendaFornecedores.Where(p => p.VendaId == venda.Id); database.VendasProdutos.RemoveRange(prod); database.VendaFornecedores.RemoveRange(forn); database.SaveChanges(); var VendaProdTemp = database.VendasProdutos.ToList(); foreach (var vendaProdId in venda.ProdutosId) { VendaProduto vendaProd1 = new VendaProduto(); vendaProd1.VendaId = venda.Id; vendaProd1.ProdutoId = vendaProdId; database.VendasProdutos.Add(vendaProd1); database.SaveChanges(); } ; foreach (var vendaProdFornId in venda.ProdutosId) { VendaFornecedor vendaForn1 = new VendaFornecedor(); vendaForn1.VendaId = venda.Id; vendaForn1.ProdutoId = vendaProdFornId; var produto = database.Produtos.Include(f => f.Fornecedor).First(p => p.Id == vendaProdFornId); vendaForn1.FornecedorId = produto.Fornecedor.Id; database.VendaFornecedores.Add(vendaForn1); database.SaveChanges(); } ; double totalCompra = 0; foreach (var produtoCompra in venda.ProdutosId) { var produtoVendas = database.Produtos.First(p => p.Id == produtoCompra); if (produtoVendas.Promocao == true) { totalCompra = produtoVendas.ValorPromocao + totalCompra; } else { totalCompra = produtoVendas.Valor + totalCompra; } } ; venda.TotalCompra = totalCompra; vendaLoc.TotalCompra = totalCompra; vendaLoc.DataCompra = DateTime.Now; database.SaveChanges(); } else { vendaLoc.VendaProdutos = vendaLoc.VendaProdutos; } }catch { Response.StatusCode = 400; return(new ObjectResult(new{ msg = "Venda não localizada!" })); } } Response.StatusCode = 200; return(new ObjectResult(new{ msg = "Venda alterada com sucesso!" })); }
public IActionResult PopularBD() { try{ Cliente c1 = new Cliente { Id = 1, Nome = "Antonio Carlos", Email = "*****@*****.**", Senha = CalculaHash("123456"), Documento = "123.456.789-65", DataCadastro = DateTime.Now }; Cliente c2 = new Cliente { Id = 2, Nome = "Adriana Maria", Email = "*****@*****.**", Senha = CalculaHash("123456"), Documento = "123.654.789-65", DataCadastro = DateTime.Now }; Cliente c3 = new Cliente { Id = 3, Nome = "Ricardo Contins", Email = "*****@*****.**", Senha = CalculaHash("123456"), Documento = "223.456.789-85", DataCadastro = DateTime.Now }; Cliente c4 = new Cliente { Id = 4, Nome = "Salete Burgers", Email = "*****@*****.**", Senha = CalculaHash("123456"), Documento = "453.456.789-65", DataCadastro = DateTime.Now }; Cliente c5 = new Cliente { Id = 5, Nome = "Victor Sanches", Email = "*****@*****.**", Senha = CalculaHash("123456"), Documento = "453.496.459-65", DataCadastro = DateTime.Now }; database.Add(c1); database.Add(c2); database.Add(c3); database.Add(c4); database.Add(c5); database.SaveChanges(); Fornecedor f1 = new Fornecedor { Id = 1, Nome = "Amazon", CNPJ = "01.456.369/0258-10" }; Fornecedor f2 = new Fornecedor { Id = 2, Nome = "Microsoft", CNPJ = "01.456.369/4587-10" }; Fornecedor f3 = new Fornecedor { Id = 3, Nome = "Magazine Luiza", CNPJ = "01.456.369/1263-10" }; Fornecedor f4 = new Fornecedor { Id = 4, Nome = "Dell Computers", CNPJ = "01.456.369/1478-10" }; Fornecedor f5 = new Fornecedor { Id = 5, Nome = "Casas Bahia", CNPJ = "01.456.379/1741-10" }; database.Add(f1); database.Add(f2); database.Add(f3); database.Add(f4); database.Add(f5); database.SaveChanges(); Produto p1 = new Produto { Id = 1, Nome = "Echo 3 geração", Codigo = "8005261", Valor = 399.00, Promocao = true, ValorPromocao = 199.00, Categoria = "Eletrônicos", Imagem = "echo.jpeg", Quantidade = 10, Fornecedor = database.Fornecedores.First(f => f.Id == 1) }; Produto p2 = new Produto { Id = 2, Nome = "Notebook", Codigo = "8004585", Valor = 1500.00, Promocao = false, ValorPromocao = 0, Categoria = "Computadores", Imagem = "notebook.jpeg", Quantidade = 5, Fornecedor = database.Fornecedores.First(f => f.Id == 3) }; Produto p3 = new Produto { Id = 3, Nome = "X Box 360", Codigo = "8009685", Valor = 900.00, Promocao = false, ValorPromocao = 0, Categoria = "Video Games", Imagem = "xbox.jpeg", Quantidade = 20, Fornecedor = database.Fornecedores.First(f => f.Id == 2) }; Produto p4 = new Produto { Id = 4, Nome = "Camera Notebook", Codigo = "8004574", Valor = 150.00, Promocao = true, ValorPromocao = 99.00, Categoria = "Eletrônicos", Imagem = "camera.jpeg", Quantidade = 50, Fornecedor = database.Fornecedores.First(f => f.Id == 3) }; Produto p5 = new Produto { Id = 5, Nome = "Celular Zenphone Azus", Codigo = "8004591", Valor = 1500.00, Promocao = true, ValorPromocao = 1299.00, Categoria = "Eletrônicos", Imagem = "celular.jpeg", Quantidade = 25, Fornecedor = database.Fornecedores.First(f => f.Id == 1) }; database.Add(p1); database.Add(p2); database.Add(p3); database.Add(p4); database.Add(p5); database.SaveChanges(); Venda v1 = new Venda { Id = 1, Cliente = database.Clientes.First(c => c.Id == 1), DataCompra = DateTime.Now, TotalCompra = 1699.00 }; database.Add(v1); database.SaveChanges(); VendaProduto vp1 = new VendaProduto { VendaId = 1, ProdutoId = 1, }; VendaProduto vp2 = new VendaProduto { VendaId = 1, ProdutoId = 2, }; database.AddRange(vp1, vp2); database.SaveChanges(); VendaFornecedor vf1 = new VendaFornecedor { VendaId = 1, ProdutoId = 1, FornecedorId = 1 }; VendaFornecedor vf2 = new VendaFornecedor { VendaId = 1, ProdutoId = 2, FornecedorId = 3 }; database.AddRange(vf1, vf2); database.SaveChanges(); Venda v2 = new Venda { Id = 2, Cliente = database.Clientes.First(c => c.Id == 2), DataCompra = DateTime.Now, TotalCompra = 2400.00 }; database.Add(v2); database.SaveChanges(); VendaProduto vp3 = new VendaProduto { VendaId = 2, ProdutoId = 3, }; VendaProduto vp4 = new VendaProduto { VendaId = 2, ProdutoId = 2, }; database.AddRange(vp3, vp4); database.SaveChanges(); VendaFornecedor vf3 = new VendaFornecedor { VendaId = 2, ProdutoId = 3, FornecedorId = 2 }; VendaFornecedor vf4 = new VendaFornecedor { VendaId = 2, ProdutoId = 2, FornecedorId = 3 }; database.AddRange(vf3, vf4); database.SaveChanges(); return(Ok("Dados salvos com sucesso!")); }catch { Response.StatusCode = 405; return(new ObjectResult(new{ msg = "Banco de dados já atualizado, não está mais disponível esse Post!" })); } }