Ejemplo n.º 1
0
        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 }));
        }
Ejemplo n.º 2
0
        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!" }));
        }
Ejemplo n.º 3
0
        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!" }));
            }
        }