public async Task SeedAsync(AppoinmentScheduleContext context, IWebHostEnvironment env, ILogger <AppoinmentScheduleContextSeed> logger) { var policy = CreatePolicy(logger, nameof(AppoinmentScheduleContextSeed)); await policy.ExecuteAsync(async() => { var contentRootPath = env.ContentRootPath; using (context) { context.Database.Migrate(); if (!context.AppointmentTypes.Any()) { context.AppointmentTypes.AddRange(GetPredefinedAppointmentTypes()); await context.SaveChangesAsync(); } if (!context.NotificationTypes.Any()) { context.NotificationTypes.AddRange(GetPredefinedNotificationTypes()); await context.SaveChangesAsync(); } if (!context.StatusTypes.Any()) { context.StatusTypes.AddRange(GetPredefinedStatusTypes()); await context.SaveChangesAsync(); } if (!context.Counties.Any()) { context.Counties.AddRange(GetPredefinedCounties(contentRootPath, logger)); await context.SaveChangesAsync(); } await context.SaveChangesAsync(); } }); }
public CountyRepository(AppoinmentScheduleContext context) { _context = context ?? throw new ArgumentNullException(nameof(context)); }