public static IServiceCollection AddEasyContent( this IServiceCollection serviceCollection, Func <IServiceProvider, PostOptions> postOptionsRetriever, Func <IServiceProvider, FileProviderOptions> fileProviderOptionsRetriever) { serviceCollection.AddSingleton <IFrontMatterParser, FrontMatterParser>(); serviceCollection.AddSingleton <IMarkdownParser, MarkdownParser>(); serviceCollection.AddSingleton <IPostParserService, PostParserService>(); serviceCollection.AddSingleton <IPostSummaryRepository, PostSummaryRepository>(); serviceCollection.AddSingleton <IPostRepository, PostRepository>(); serviceCollection.AddSingleton <IPostPathRepository, PostPathRepository>(); serviceCollection.AddSingleton <IPostConfiguration>( serviceProvider => { var postOptions = postOptionsRetriever.Invoke(serviceProvider); var postRootFolder = postOptions.PostRootFolder; var postExtension = postOptions.PostExtension; var postViewerRoute = postOptions.PostViewerRoute; var postConfiguration = new PostConfiguration(postRootFolder, postExtension, postViewerRoute); return(postConfiguration); }); serviceCollection.AddSingleton <IFileProviderConfiguration>( serviceProvider => { var fileProviderOptions = fileProviderOptionsRetriever.Invoke(serviceProvider); var fileProvider = fileProviderOptions.FileProvider; var fileProviderConfiguration = new FileProviderConfiguration(fileProvider); return(fileProviderConfiguration); }); serviceCollection.AddSingleton <IBlogQueryService, BlogQueryService>(); return(serviceCollection); }
protected override void OnModelCreating(ModelBuilder modelBuilder) { modelBuilder.ApplyConfigurationsFromAssembly(Assembly.GetExecutingAssembly()); UserConfiguration.SeedData(modelBuilder.Entity <User>()); PostConfiguration.SeedData(modelBuilder.Entity <Post>()); CommentConfiguration.SeedData(modelBuilder.Entity <Comment>()); base.OnModelCreating(modelBuilder); }
public async Task <HttpResponseMessage> PostAsync(string environment, int divisionId, [FromBody] PostConfiguration configuration, string applicationName = "") { OpResult opResult; if (!string.IsNullOrWhiteSpace(applicationName)) { opResult = await _storage.StoreConfigurationExceptionAsync(environment, divisionId, applicationName, configuration.Value) .ConfigureAwait(false); } else { opResult = await _storage.StoreConfigurationExceptionAsync(environment, divisionId, configuration.Value) .ConfigureAwait(false); } return(opResult.Matched == 0 ? Request.CreateResponse(HttpStatusCode.NotFound) : Request.CreateResponse(opResult.Updated > 0 ? HttpStatusCode.Accepted : HttpStatusCode.NotModified)); }