Пример #1
0
        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));
 }