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(); } }
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); }