public virtual void Add(params T[] items) { foreach (T item in items) { context.Add(item); } context.SaveChanges(); }
private static void SeedRatings(OnlineFishShopDbContext context) { if (context.Ratings.Any()) { return; } var currentDirectory = Path.GetFullPath(@"..\OnlineFishShop.Data\Import\Json\RatingsMock.json"); string json = File.ReadAllText(currentDirectory); var ratingsToSeed = JsonConvert.DeserializeObject <List <Rating> >(json); Random r = new Random(); var products = context.Products.ToList(); var user = context.Users.First(); //sequence users contains no elements foreach (var rating in ratingsToSeed) { rating.Product = products[r.Next(1, 25)]; rating.User = user; } context.Ratings.AddRange(ratingsToSeed); context.SaveChanges(); }
private static void SeedComments(OnlineFishShopDbContext context) { if (context.Comments.Any()) { return; } var currentDirectory = Path.GetFullPath(@"..\OnlineFishShop.Data\Import\Json\CommentsMock.json"); string json = File.ReadAllText(currentDirectory); var dateTimeFormat = "dd/mm/yyyy"; var dateTimeConverter = new IsoDateTimeConverter { DateTimeFormat = dateTimeFormat }; var commentsToSeed = JsonConvert.DeserializeObject <List <Comment> >(json, dateTimeConverter); Random r = new Random(); var products = context.Products.ToList(); var user = context.Users.First(); //attach product and user to comments foreach (var comment in commentsToSeed) { comment.Product = products[r.Next(1, 25)]; comment.User = user; } context.AddRange(commentsToSeed); context.SaveChanges(); }
private static void SeedDeliveryOptions(OnlineFishShopDbContext context) { if (context.DeliveryOptions.Any()) { return; } var currentDirectory = Path.GetFullPath(@"..\OnlineFishShop.Data\Import\Json\DeliveryOptionsMock.json"); string json = File.ReadAllText(currentDirectory); var optionsToSeed = JsonConvert.DeserializeObject <List <DeliveryOption> >(json); context.DeliveryOptions.AddRange(optionsToSeed); context.SaveChanges(); }
private static void SeedProductsAndCategories(OnlineFishShopDbContext context, Category[] categoriesToSeed, Product[] productsToSeed) { if (!context.Products.Any()) { Random r = new Random(); List <CategoryProduct> categoryProducts = new List <CategoryProduct>(); foreach (var product in productsToSeed) { categoryProducts.Add(new CategoryProduct() { Product = product, Category = categoriesToSeed[r.Next(0, categoriesToSeed.Length)] }); } context.AddRange(categoryProducts); context.SaveChanges(); } }