Example #1
0
        public void Seed()
        {
            if (!Estados.Any())
            {
                AddRange(DataSeeder.SeedEstados());
                SaveChanges();
            }

            if (!Cidades.Any())
            {
                AddRange(DataSeeder.SeedCidades());
                SaveChanges();
            }

            if (!Unidades.Any())
            {
                AddRange(DataSeeder.SeedUnidades());
                SaveChanges();
            }

            if (!Faixas.Any())
            {
                AddRange(DataSeeder.SeedFaixas());
                SaveChanges();
            }

            if (!Clientes.Any())
            {
                AddRange(DataSeeder.SeedClientes());
                SaveChanges();
            }

            if (!Vendedores.Any())
            {
                AddRange(DataSeeder.SeedVendedores());
                SaveChanges();
            }

            if (!Produtos.Any())
            {
                AddRange(DataSeeder.SeedProdutos());
                SaveChanges();
            }

            if (!Pedidos.Any())
            {
                AddRange(DataSeeder.SeedPedidos());
                SaveChanges();
            }

            if (!PedidoProdutos.Any())
            {
                AddRange(DataSeeder.SeedPedidosProdutos());
                SaveChanges();
            }
        }
Example #2
0
        public Pedido SalvarPedido(List <Produto> produtos)
        {
            if (produtos == null)
            {
                throw new Exception("Não é possivel salvar um pedido vazio!");
            }

            else if (produtos[0].CodInterno != 0)
            {
                var pedido = new Pedido()
                {
                    PedidoProdutos = new List <PedidoProdutos>()
                };

                //Convertendo a data para remover informações desnecessarias - 2019/06/30T23:00:00
                pedido.DataPedido = Convert.ToDateTime(DateTime.Now.ToString("dd/MM/yyyy HH:mm"));

                //Adiciona os produtos a classe PedidoProdutos dentro do pedido e calcula o valor total do pedido
                foreach (var p in produtos)
                {
                    var produto = produtoService.BuscarPeloCodInterno(p.CodInterno);
                    pedido.ValorTotal += produto.ValorVenda;
                    var pd = new PedidoProdutos()
                    {
                        IdProduto = produto.IdProduto
                    };
                    pedido.PedidoProdutos.Add(pd);
                }

                //Remove o objeto PedidoProdutos do pedido, para depois salva-la já com o id do pedido
                var pedidoProdutos = pedido.PedidoProdutos;
                pedido.PedidoProdutos = new List <PedidoProdutos>();

                repository.Save(pedido);

                //Adiciona o id do pedido nos objetos PedidoProduto
                foreach (var pd in pedidoProdutos)
                {
                    pd.IdPedido = pedido.IdPedido;
                    pedido.PedidoProdutos.Add(pd);
                }

                repository.Update(pedido);
            }

            return(null);
        }