Пример #1
0
        public async Task SeedAsync()
        {
            //check if database is created first
            dutchContext.Database.EnsureCreated();

            StoreUser user = await userManager.FindByEmailAsync("*****@*****.**");

            if (user == null)
            {
                user = new StoreUser()
                {
                    FirstName = "Shawn",
                    LastName  = "Wildermuth",
                    Email     = "*****@*****.**",
                    UserName  = "******"
                };

                var result = await userManager.CreateAsync(user, "P@ssw0rd!");

                if (result != IdentityResult.Success)
                {
                    throw new InvalidOperationException("Could not create new user in seeder");
                }
            }

            if (!dutchContext.Products.Any())
            {
                //need to create sample data
                //hosting is used to determing filepath at runtime
                var filepath = Path.Combine(hosting.ContentRootPath, "Data/art.json");
                var json     = File.ReadAllText(filepath);
                var products = JsonConvert.DeserializeObject <IEnumerable <Product> >(json);
                dutchContext.Products.AddRange(products);

                //seeding order
                var order = dutchContext.Orders.Where(o => o.Id == 3).FirstOrDefault();
                if (order != null)
                {
                    order.User  = user;
                    order.Items = new List <OrderItem>()
                    {
                        new OrderItem()
                        {
                            Product   = products.First(),
                            Quantity  = 5,
                            UnitPrice = products.First().Price
                        }
                    };
                }


                dutchContext.SaveChanges();
            }
        }
 public bool SaveAll()
 {
     return(ctx.SaveChanges() > 0);
 }