Пример #1
0
        public async Task SeedAsync(ArticleContext context, IHostingEnvironment env, IOptions <ArticleSettings> settings, ILogger <ArticleContextSeed> logger)
        {
            var policy = CreatePolicy(logger, nameof(ArticleContextSeed));

            await policy.ExecuteAsync(async() =>
            {
                var useCustomizationData = settings.Value.UseCustomizationData;
                var contentRootPath      = env.ContentRootPath;
                var picturePath          = env.WebRootPath;


                if (!context.ArticleItems.Any())
                {
                    await context.ArticleItems.AddRangeAsync(useCustomizationData
                        ? GetCatalogItemsFromFile(contentRootPath, context, logger)
                        : GetPreconfiguredItems());

                    await context.SaveChangesAsync();

                    GetCatalogItemPictures(contentRootPath, picturePath);
                }
            });
        }