コード例 #1
0
        public static async Task CarregarCategorias(SkyContext context, List <Models.Produto> produtos)
        {
            var categorias           = produtos.SelectMany(s => s.Categorias).Distinct();
            var categoriasParaSalvar = categorias.Select(s => Models.Categoria.Obter(s).Generate().ToEntity());
            await context.Categorias.AddRangeAsync(categoriasParaSalvar);

            await context.SaveChangesAsync();
        }
コード例 #2
0
        public static async Task GerarPedidos(SkyContext context, IConfiguration configuration, string root)
        {
            var usuario = configuration.GetValue <string>("ApplicationSettings:DefaultUser") ?? "bob";
            var dir     = new DirectoryInfo(Path.Combine(root, "images", "product"));
            var imagens = dir.GetFiles("*.jpg").Select(s => $"/images/product/{s.Name}");

            var pedidos = Pedido.Obter(usuario, imagens).Generate(10);

            await context.Pedidos.AddRangeAsync(pedidos.Select(s => s.ToEntity().AtualizarUsuario(usuario)));

            await context.SaveChangesAsync();
        }
コード例 #3
0
        public static async Task GerarEnderecos(SkyContext context, IConfiguration configuration)
        {
            var usuario   = configuration.GetValue <string>("ApplicationSettings:DefaultUser") ?? "bob";
            var faker     = new Faker();
            var enderecos = Endereco.Obter(usuario)
                            .Generate(faker.Random.Int(3, 7));

            var enderecosDb = enderecos.Select(s => s.ToEntity().AtualizarUsuario(usuario));
            await context.Enderecos.AddRangeAsync(enderecosDb);

            await context.SaveChangesAsync();
        }
コード例 #4
0
        public static async Task <List <Produto> > CarregarProdutos(SkyContext context, string root)
        {
            var faker = new Faker("pt_BR");

            var marcas = Models.Marca.Obter().Generate(13).Select(s => s.ToEntity()).ToList();
            await context.Marcas.AddRangeAsync(marcas);

            await context.SaveChangesAsync();


            var dir     = new DirectoryInfo(Path.Combine(root, "images", "product"));
            var imagens = dir.GetFiles("*.jpg").Select(s => $"/images/product/{s.Name}");

            var produtos   = Models.Produto.Obter(imagens).Generate(1000);
            var produtosDb = produtos.Select(s => s.ToEntity().AtualizarMarca(faker.PickRandom(marcas)));
            await context.Produtos.AddRangeAsync(produtosDb);

            await context.SaveChangesAsync();

            return(produtos);
        }