コード例 #1
0
        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);
        }
コード例 #2
0
        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);
        }
コード例 #3
0
        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));
        }