private static void CreateFlavours(ShishaFlavoursDbContext context, IFlavoursService flavoursService, ILogger logger) { if (!context.Flavours.Any()) { flavoursService.AddFlavoursBulkAsync(GenerateFlavours().ToArray()).Wait(); logger.LogInformation("Created 10 default shisha flavours"); } else { logger.LogInformation("Flavours were already seeded"); } }
public FlavoursController(IFlavoursService flavoursService) { this.flavoursService = flavoursService; }
public FlavourCombinationsController(IFlavoursService flavoursService, IFlavourCombinationsService flavourCombinationsService) { this.flavoursService = flavoursService; this.flavourCombinationsService = flavourCombinationsService; }
private static void CreateFlavourCombinations(ShishaFlavoursDbContext context, IFlavourCombinationsService flavourCombinationsService, IFlavoursService flavoursService, UserManager <User> userManager, ILogger logger) { if (!context.FlavourCombinations.Any()) { string adminUserId = userManager.FindByNameAsync("Admin").Result.Id; FlavourCombination combination = new FlavourCombination() { Name = "Sweet Mint", Description = "A great combination of the most popular shisha flavours ever!", DateAdded = DateTime.Now, Votes = 20, UserId = adminUserId, FlavourCombinationReferences = new List <FlavourCombinationReference>() }; List <Flavour> flavours = new List <Flavour>() { flavoursService.GetFlavourByName("Blueberry").Result, flavoursService.GetFlavourByName("Mint").Result }; flavourCombinationsService.CreateFlavourCombinationAsync(combination, flavours).Wait(); } else { logger.LogInformation("Flavour combinations were already added"); } }
public static void Seed(ShishaFlavoursDbContext context, UserManager <User> userManager, IFlavoursService flavoursService, IFlavourCombinationsService flavourCombinationsService, ILogger logger) { context.Database.EnsureCreated(); CreateAdminUser(context, userManager, logger); CreateFlavours(context, flavoursService, logger); CreateFlavourCombinations(context, flavourCombinationsService, flavoursService, userManager, logger); }