Esempio n. 1
0
        private static async Task AdicionarPedidoBase(IGenericRepository <Pedido> pedidoRep, CancellationToken token)
        {
            await pedidoRep.AddAsync(new Pedido("XJY2",
                                                new List <ItemPedido>()
            {
                ItemPedido.Criar("XJY2", "Produto 1", 10, 1),
                ItemPedido.Criar("XJY2", "Produto 2", 5, 1),
                ItemPedido.Criar("XJY2", "Produto 2", 5, 1)
            }), token);

            await pedidoRep.CommitAsync(token);
        }
        public async Task Instanciar_ContextoDoBanco()
        {
            //Teste com Repositório Genérico
            var pedidoRep     = services.GetService <IGenericRepository <Pedido> >();
            var itemPedidoRep = services.GetService <IGenericRepository <ItemPedido> >();
            var pedidos       = pedidoRep.GetAll(noTracking: true, includeProperties: "Itens");
            var itemsPedido   = itemPedidoRep.GetAll();

            Assert.True(pedidos.Any());
            var token = new CancellationTokenSource();
            await pedidoRep.AddAsync(Pedido.Criar("xadd1"), token.Token);

            await itemPedidoRep.AddAsync(ItemPedido.Criar("xadd1", "teste", 1, 1), token.Token);

            await itemPedidoRep.CommitAsync(token.Token);

            var pedido = pedidoRep.GetAll(filter: x => x.Codigo == "xadd1").FirstOrDefault();

            Assert.True(pedido.Itens.Any());
            Assert.True(itemsPedido.Any());
        }
        public static ModelBuilder SeedProduto(this ModelBuilder modelBuilder)
        {
            modelBuilder.Entity <Pedido>()
            .HasData(
                Pedido.Criar("987354"),
                Pedido.Criar("ABCDEF"),
                Pedido.Criar("123456"));

            modelBuilder.Entity <ItemPedido>()
            .HasData(
                ItemPedido.Criar("987354", "Produto 1", 2.5f, 3),
                ItemPedido.Criar("987354", "Produto 2", 3, 2),
                ItemPedido.Criar("987354", "Produto 3", 0.99f, 4.4f),
                ItemPedido.Criar("ABCDEF", "Monitor", 399.99f, 3),
                ItemPedido.Criar("ABCDEF", "Processador", 429.38f, 2),
                ItemPedido.Criar("ABCDEF", "Pasta Isolante", 0.49f, 1.4f),
                ItemPedido.Criar("123456", "Produto 1", 10, 1),
                ItemPedido.Criar("123456", "Produto 2", 5, 1),
                ItemPedido.Criar("123456", "Produto 2", 5, 1)

                );
            return(modelBuilder);
        }