/// <summary>
        /// Adds the <see cref="FileExtensionOperator"/> implementation of <see cref="IFileExtensionOperator"/> as a <see cref="ServiceLifetime.Singleton"/>.
        /// </summary>
        public static IServiceAction <IFileExtensionOperator> AddFileExtensionOperatorAction(this IServiceCollection services)
        {
            var serviceAction = ServiceAction.New <IFileExtensionOperator>(() => services.AddFileExtensionOperator());

            return(serviceAction);
        }
        /// <summary>
        /// Adds the <see cref="INowProvider"/> service.
        /// </summary>
        public static ServiceAction <INowProvider> AddNowProviderAction(this IServiceCollection services)
        {
            var serviceAction = ServiceAction <INowProvider> .New(() => services.AddNowProvider());

            return(serviceAction);
        }
        /// <summary>
        /// Adds the <see cref="TimestampUtcDirectoryNameProvider"/> implementation of <see cref="ITimestampUtcDirectoryNameProvider"/> as a <see cref="ServiceLifetime.Singleton"/>.
        /// </summary>
        public static ServiceAction <ITimestampUtcDirectoryNameProvider> AddDefaultTimestampUtcDirectoryNameProviderAction(this IServiceCollection services)
        {
            var serviceAction = ServiceAction <ITimestampUtcDirectoryNameProvider> .New(() => services.AddDefaultTimestampUtcDirectoryNameProvider());

            return(serviceAction);
        }
        /// <summary>
        /// Adds the <see cref="DirectorySeparatorOperator"/> implementation of <see cref="IDirectorySeparatorOperator"/> as a <see cref="ServiceLifetime.Singleton"/>.
        /// </summary>
        public static IServiceAction <IDirectorySeparatorOperator> AddDirectorySeparatorOperatorAction(this IServiceCollection services)
        {
            var serviceAction = ServiceAction.New <IDirectorySeparatorOperator>(() => services.AddDirectorySeparatorOperator());

            return(serviceAction);
        }
Example #5
0
        /// <summary>
        /// Adds the <see cref="OSPlatformProvider"/> implementation of <see cref="IOSPlatformProvider"/> as a <see cref="ServiceLifetime.Singleton"/>.
        /// </summary>
        public static IServiceAction <IOSPlatformProvider> AddOSPlatformProviderAction(this IServiceCollection services)
        {
            var serviceAction = ServiceAction.New <IOSPlatformProvider>(() => services.AddOSPlatformProvider());

            return(serviceAction);
        }
Example #6
0
        /// <summary>
        /// Adds the <see cref="InMemoryMessageRepository"/> implementation of <see cref="IMessageRepository"/> as a <see cref="ServiceLifetime.Singleton"/>.
        /// </summary>
        public static IServiceAction <IMessageRepository> AddInMemoryMessageRepositoryAction(this IServiceCollection services)
        {
            var serviceAction = ServiceAction <IMessageRepository> .New(() => services.AddInMemoryMessageRepository());

            return(serviceAction);
        }
Example #7
0
        /// <summary>
        /// Adds the <see cref="LocalRepositoryDirectoryPathsListTextFileSerializer"/> implementation of <see cref="ILocalRepositoryDirectoryPathsListTextFileSerializer"/> as a <see cref="ServiceLifetime.Singleton"/>.
        /// </summary>
        public static IServiceAction <ILocalRepositoryDirectoryPathsListTextFileSerializer> AddLocalRepositoryDirectoryPathsListTextFileSerializerAction(this IServiceCollection services)
        {
            var serviceAction = ServiceAction.New <ILocalRepositoryDirectoryPathsListTextFileSerializer>(() => services.AddLocalRepositoryDirectoryPathsListTextFileSerializer());

            return(serviceAction);
        }
Example #8
0
        /// <summary>
        /// Adds the <see cref="ProcessStartTimeProvider"/> implementation of <see cref="IProcessStartTimeProvider"/> as a <see cref="ServiceLifetime.Singleton"/>.
        /// </summary>
        public static ServiceAction <IProcessStartTimeProvider> AddDefaultProcessStartTimeProviderAction(this IServiceCollection services)
        {
            var serviceAction = ServiceAction <IProcessStartTimeProvider> .New(() => services.AddDefaultProcessStartTimeProvider());

            return(serviceAction);
        }
Example #9
0
        /// <summary>
        /// Adds the <see cref="OrganizationDirectoryNameProvider"/> implementation of <see cref="IOrganizationDirectoryNameProvider"/> as a <see cref="ServiceLifetime.Singleton"/>.
        /// </summary>
        public static IServiceAction <IOrganizationDirectoryNameProvider> AddOrganizationDirectoryNameProviderAction(this IServiceCollection services)
        {
            var serviceAction = ServiceAction <IOrganizationDirectoryNameProvider> .New(() => services.AddOrganizationDirectoryNameProvider());

            return(serviceAction);
        }
Example #10
0
        /// <summary>
        /// Adds the <see cref="ServiceDescriptorDescriber"/> implementation of <see cref="IServiceDescriptorDescriber"/> as a <see cref="ServiceLifetime.Singleton"/>.
        /// </summary>
        public static IServiceAction <IServiceDescriptorDescriber> AddServiceDescriptorDescriberAction(this IServiceCollection services)
        {
            var serviceAction = ServiceAction.New <IServiceDescriptorDescriber>(() => services.AddServiceDescriptorDescriber());

            return(serviceAction);
        }
Example #11
0
        /// <summary>
        /// Adds the <see cref="CurrentDirectoryPathProvider"/> implementation of <see cref="ICurrentDirectoryPathProvider"/> as a <see cref="ServiceLifetime.Singleton"/>.
        /// </summary>
        public static IServiceAction <ICurrentDirectoryPathProvider> AddCurrentDirectoryPathProviderAction(this IServiceCollection services)
        {
            var serviceAction = ServiceAction.New <ICurrentDirectoryPathProvider>(() => services.AddCurrentDirectoryPathProvider());

            return(serviceAction);
        }
Example #12
0
        /// <summary>
        /// Makes <see cref="MachineConfiguration"/> available via <see cref="Microsoft.Extensions.Options.IOptions{TOptions}"/>.
        /// </summary>
        public static IServiceAction <IOptions <MachineConfiguration> > AddMachineConfigurationOptionsAction(this IServiceCollection services)
        {
            var serviceAction = ServiceAction <IOptions <MachineConfiguration> > .New(() => services.AddMachineConfigurationOptions());

            return(serviceAction);
        }
        /// <summary>
        /// Adds the <see cref="MachineNameProvider"/> implementation of <see cref="IMachineNameProvider"/> as a <see cref="ServiceLifetime.Singleton"/>.
        /// </summary>
        public static IServiceAction <IMachineNameProvider> AddMachineNameProviderAction(this IServiceCollection services)
        {
            var serviceAction = ServiceAction.New <IMachineNameProvider>(() => services.AddMachineNameProvider());

            return(serviceAction);
        }
Example #14
0
        /// <summary>
        /// Adds the <see cref="GeometryFactoryProvider"/> implementation of <see cref="IGeometryFactoryProvider"/> as a <see cref="ServiceLifetime.Singleton"/>.
        /// </summary>
        public static IServiceAction <IGeometryFactoryProvider> AddGeometryFactoryProviderAction(this IServiceCollection services)
        {
            var serviceAction = ServiceAction.New <IGeometryFactoryProvider>(() => services.AddGeometryFactoryProvider());

            return(serviceAction);
        }
Example #15
0
        /// <summary>
        /// Adds the <see cref="RemoteRepositoryUrlsListTextFileSerializer"/> implementation of <see cref="IRemoteRepositoryUrlsListTextFileSerializer"/> as a <see cref="ServiceLifetime.Singleton"/>.
        /// </summary>
        public static IServiceAction <IRemoteRepositoryUrlsListTextFileSerializer> AddRemoteRepositoryUrlsListTextFileSerializerAction(this IServiceCollection services)
        {
            var serviceAction = ServiceAction.New <IRemoteRepositoryUrlsListTextFileSerializer>(() => services.AddRemoteRepositoryUrlsListTextFileSerializer());

            return(serviceAction);
        }
Example #16
0
        protected override void ConfigureServicesBody(IServiceCollection services)
        {
            var isConstruction = true; // Perhaps get from service or configuration.

            // -1
            (
                IServiceAction <IDirectoryNameOperator> _,
                IServiceAction <IDirectorySeparatorOperator> _,
                IServiceAction <IFileExtensionOperator> _,
                IServiceAction <IFileNameOperator> fileNameOperatorAction,
                IServiceAction <IStringlyTypedPathOperator> stringlyTypedPathOperatorAction
            ) = services.AddStringlyTypedPathRelatedOperatorsAction();

            // 0
            IServiceAction <DeepEqualsXElementEqualityComparer> deepEqualsXElementEqualityComparerAction = ServiceAction <DeepEqualsXElementEqualityComparer> .New(() => services.AddSingleton <DeepEqualsXElementEqualityComparer>());

            IServiceAction <FunctionalityDirectoryNameProvider> functionalityDirectoryNameProviderAction = ServiceAction <FunctionalityDirectoryNameProvider> .New(() => services.AddSingleton <FunctionalityDirectoryNameProvider>());

            IServiceAction <IGuidProvider>     guidProviderAction     = services.AddGuidProviderAction();
            IServiceAction <IMessageFormatter> messageFormatterAction = ServiceAction <IMessageFormatter> .New(serviceCollection =>
            {
                serviceCollection
                .AddSingleton <IMessageFormatter, MessageFormatter>()
                ;
            });

            //IServiceAction<IMessageRepository> messageRepositoryAction = ServiceAction<IMessageRepository>.New(serviceCollection => serviceCollection.AddSingleton<IMessageRepository, InMemoryMessageRepository>()); // Adds the default in-memory message repository.
            //IServiceAction<IMessageSink> messageSinkAction = ServiceAction<IMessageSink>.New(
            //    serviceCollection => serviceCollection.AddSingleton<IMessageSink>(
            //        serviceProvider =>
            //        {
            //            var programStartTimeSpecificMessagesOutputDirectoryPathProvider = serviceProvider.GetRequiredService<IProgramStartTimeSpecificMessagesOutputDirectoryPathProvider>();
            //            var programStartTimeSpecificMessagesOutputDirectoryPath = programStartTimeSpecificMessagesOutputDirectoryPathProvider.GetProgramStartTimeSpecificMessagesOutputDirectoryPathAsync().Result;

            //            var stringlyTypedPathOperator = serviceProvider
            //        })); // No async Add() methods allowed!
            IServiceAction <IMessageSinkProvider> messageSinkProviderAction = ServiceAction <IMessageSinkProvider> .New(() => services.AddSingleton <IMessageSinkProvider, DefaultMessageSinkProvider>()); // One message sink provider for the whole application.

            IServiceAction <INowUtcProvider> nowUtcProviderAction = services.AddNowUtcProviderAction();
            IServiceAction <OrderIndependentXElementEqualityComparer> orderIndependentXElementEqualityComparerAction = ServiceAction <OrderIndependentXElementEqualityComparer> .New(() => services.AddSingleton <OrderIndependentXElementEqualityComparer>());

            IServiceAction <IProcessStartTimeUtcProvider>                    processStartTimeUtcProviderAction                    = services.AddProcessStartTimeUtcProviderAction();
            IServiceAction <IProgramNameProvider>                            programNameProviderAction                            = services.AddProgramNameProviderAction();
            IServiceAction <ITemporaryDirectoryFilePathProvider>             temporaryDirectoryFilePathProviderAction             = services.AddTemporaryDirectoryFilePathProviderAction();
            IServiceAction <ITestingDataDirectoryContentPathsProvider>       testingDataDirectoryContentPathsProviderAction       = services.AddTestingDataDirectoryContentPathsProviderAction();
            IServiceAction <ITimestampUtcDirectoryNameProvider>              timestampUtcDirectoryNameProviderAction              = services.AddTimestampUtcDirectoryNameProviderAction();
            IServiceAction <IVisualStudioProjectFileDeserializationSettings> visualStudioProjectFileDeserializationSettingsAction = ServiceAction <IVisualStudioProjectFileDeserializationSettings> .New((serviceCollection) =>
            {
                serviceCollection
                .AddVisualStudioProjectFileDeserializationSettings(settings =>
                {
                    settings.ThrowAtErrorOccurrence    = false;
                    settings.ThrowIfAnyErrorAtEnd      = true;
                    settings.ThrowIfInvalidProjectFile = false;
                });
            });

            // 1
            IServiceAction <IProcessStartTimeUtcDirectoryNameProvider> processStartTimeUtcDirectoryNameProviderAction = services.AddProcessStartTimeUtcDirectoryNameProviderAction(
                processStartTimeUtcProviderAction,
                timestampUtcDirectoryNameProviderAction);
            IServiceAction <IProgramNameDirectoryNameProvider> programNameDirectoryNameProviderAction = services.AddProgramNameDirectoryNameProviderAction(
                programNameProviderAction);
            IServiceAction <IMessagesOutputBaseDirectoryPathProvider> messagesOutputBaseDirectoryPathProviderAction = ServiceAction <IMessagesOutputBaseDirectoryPathProvider> .New((serviceCollection) =>
            {
                serviceCollection
                .AddSingleton <IMessagesOutputBaseDirectoryPathProvider, MessagesOutputBaseDirectoryPathProvider>()
                .Run(temporaryDirectoryFilePathProviderAction)
                .Run(stringlyTypedPathOperatorAction)
                ;
            });

            IServiceAction <IProjectFileDeserializationMessagesOutputFileNameProvider> projectFileDeserializationMessagesOutputFileNameProviderAction =
                isConstruction
                ? ServiceAction <IProjectFileDeserializationMessagesOutputFileNameProvider> .New((serviceCollection) =>
            {
                serviceCollection
                .AddSingleton <IProjectFileDeserializationMessagesOutputFileNameProvider, ConstructionTimeProjectFileDeserializationMessagesOutputFileNameProvider>()
                .Run(fileNameOperatorAction)
                .Run(stringlyTypedPathOperatorAction)
                ;
            })
                : ServiceAction <IProjectFileDeserializationMessagesOutputFileNameProvider> .New((serviceCollection) =>
            {
                serviceCollection
                .AddSingleton <IProjectFileDeserializationMessagesOutputFileNameProvider, ProjectFileDeserializationMessagesOutputFileNameProvider>()
                .Run(fileNameOperatorAction)
                .Run(guidProviderAction)
                .Run(stringlyTypedPathOperatorAction)
                ;
            });

            IServiceAction <IVisualStudioProjectFileToXElementConverter> visualStudioProjectFileToXElementConverter = ServiceAction <IVisualStudioProjectFileToXElementConverter> .New((serviceCollection) =>
            {
                serviceCollection
                .AddSingleton <IVisualStudioProjectFileToXElementConverter, VisualStudioProjectFileToXElementConverter>()
                .Run(nowUtcProviderAction)
                .Run(visualStudioProjectFileDeserializationSettingsAction)
                ;
            });

            IServiceAction <IVisualStudioProjectFileValidator> visualStudioProjectFileValidatorAction = ServiceAction <IVisualStudioProjectFileValidator> .New((serviceCollection) =>
            {
                serviceCollection
                .AddSingleton <IVisualStudioProjectFileValidator, VisualStudioProjectFileValidator>()
                .Run(nowUtcProviderAction)
                ;
            });

            // 2
            IServiceAction <IProgramSpecificMessagesOutputDirectoryPathProvider> programSpecificMessagesOutputDirectoryPathProviderAction = ServiceAction <IProgramSpecificMessagesOutputDirectoryPathProvider> .New(serviceCollection =>
            {
                serviceCollection
                .AddSingleton <IProgramSpecificMessagesOutputDirectoryPathProvider, ProgramSpecificMessagesOutputDirectoryPathProvider>()
                .Run(messagesOutputBaseDirectoryPathProviderAction)
                .Run(programNameDirectoryNameProviderAction)
                .Run(stringlyTypedPathOperatorAction)
                ;
            });

            IServiceAction <IRelativeFilePathsVisualStudioProjectFileStreamSerializer> relativeFilePathsVisualStudioProjectFileSerializerAction = ServiceAction <IRelativeFilePathsVisualStudioProjectFileStreamSerializer> .New((serviceCollection) =>
            {
                serviceCollection
                .AddSingleton <IRelativeFilePathsVisualStudioProjectFileStreamSerializer, RelativeFilePathsVisualStudioProjectFileStreamSerializer>()
                .Run(stringlyTypedPathOperatorAction)
                .Run(visualStudioProjectFileToXElementConverter)
                ;
            });

            // 3
            IServiceAction <IProgramStartTimeSpecificMessagesOutputDirectoryPathProvider> programNameStartTimeMessagesOutputDirectoryPathProviderAction =
                isConstruction
                ? ServiceAction <IProgramStartTimeSpecificMessagesOutputDirectoryPathProvider> .New(serviceCollection =>
            {
                serviceCollection
                .AddSingleton <IProgramStartTimeSpecificMessagesOutputDirectoryPathProvider, ConstructionTimeMessagesOutputDirectoryPathProvider>()
                .Run(programSpecificMessagesOutputDirectoryPathProviderAction)
                .Run(stringlyTypedPathOperatorAction)
                ;
            })
                : ServiceAction <IProgramStartTimeSpecificMessagesOutputDirectoryPathProvider> .New(serviceCollection =>
            {
                serviceCollection
                .AddSingleton <IProgramStartTimeSpecificMessagesOutputDirectoryPathProvider, ProgramNameStartTimeMessagesOutputDirectoryPathProvider>()
                .Run(programSpecificMessagesOutputDirectoryPathProviderAction)
                .Run(processStartTimeUtcDirectoryNameProviderAction)
                .Run(stringlyTypedPathOperatorAction)
                ;
            })
            ;

            // 4
            IServiceAction <IFunctionalitySpecificMessagesOutputDirectoryPathProvider> programNameStartTimeFunctionalityMessagesOutputDirectoryPathProviderAction = ServiceAction <IFunctionalitySpecificMessagesOutputDirectoryPathProvider> .New((serviceCollection) =>
            {
                serviceCollection
                .AddSingleton <IFunctionalitySpecificMessagesOutputDirectoryPathProvider, ProgramNameStartTimeFunctionalityMessagesOutputDirectoryPathProvider>()
                .Run(functionalityDirectoryNameProviderAction)
                .Run(programNameStartTimeMessagesOutputDirectoryPathProviderAction)
                .Run(stringlyTypedPathOperatorAction)
                ;
            });

            // 5
            IServiceAction <IVisualStudioProjectFileSerializerMessagesOutputFilePathProvider> visualStudioProjectFileSerializerMessagesOutputFilePathProviderAction = ServiceAction <IVisualStudioProjectFileSerializerMessagesOutputFilePathProvider> .New((serviceCollection) =>
            {
                serviceCollection
                .AddSingleton <IVisualStudioProjectFileSerializerMessagesOutputFilePathProvider, VisualStudioProjectFileSerializerMessagesOutputFilePathProvider>()
                .Run(projectFileDeserializationMessagesOutputFileNameProviderAction)
                .Run(programNameStartTimeFunctionalityMessagesOutputDirectoryPathProviderAction)
                .Run(stringlyTypedPathOperatorAction)
                ;
            });

            // 6
            IServiceAction <IFunctionalVisualStudioProjectFileStreamSerializer> functionalVisualStudioProjectFileSerializerAction = ServiceAction <IFunctionalVisualStudioProjectFileStreamSerializer> .New((serviceCollection) =>
            {
                serviceCollection
                .AddSingleton <IFunctionalVisualStudioProjectFileStreamSerializer, FunctionalVisualStudioProjectFileStreamSerializer>()
                .Run(messageFormatterAction)
                .Run(nowUtcProviderAction)
                .Run(relativeFilePathsVisualStudioProjectFileSerializerAction)
                .Run(stringlyTypedPathOperatorAction)
                .Run(visualStudioProjectFileDeserializationSettingsAction)
                .Run(visualStudioProjectFileSerializerMessagesOutputFilePathProviderAction)
                .Run(visualStudioProjectFileValidatorAction)
                ;
            });

            // 7
            IServiceAction <IVisualStudioProjectFileStreamSerializer> visualStudioProjectFileStreamSerializerAction = ServiceAction <IVisualStudioProjectFileStreamSerializer> .New((serviceCollection) =>
            {
                serviceCollection
                .AddSingleton <IVisualStudioProjectFileStreamSerializer, VisualStudioProjectFileStreamSerializer>()
                .Run(functionalVisualStudioProjectFileSerializerAction)
                .Run(messageSinkProviderAction)
                ;
            });

            // 8
            IServiceAction <IVisualStudioProjectFileSerializer> visualStudioProjectFileSerializerAction = ServiceAction <IVisualStudioProjectFileSerializer> .New((serviceCollection) =>
            {
                serviceCollection
                .AddSingleton <IVisualStudioProjectFileSerializer, VisualStudioProjectFileSerializer>()
                .Run(visualStudioProjectFileStreamSerializerAction)
                ;
            });

            services
            .Run(deepEqualsXElementEqualityComparerAction)
            .Run(fileNameOperatorAction)
            .Run(functionalityDirectoryNameProviderAction)
            .Run(functionalVisualStudioProjectFileSerializerAction)
            .Run(guidProviderAction)
            .Run(messagesOutputBaseDirectoryPathProviderAction)
            .Run(messageFormatterAction)
            .Run(messageSinkProviderAction)
            .Run(nowUtcProviderAction)
            .Run(orderIndependentXElementEqualityComparerAction)
            .Run(processStartTimeUtcDirectoryNameProviderAction)
            .Run(processStartTimeUtcProviderAction)
            .Run(programNameDirectoryNameProviderAction)
            .Run(programNameProviderAction)
            .Run(programNameStartTimeMessagesOutputDirectoryPathProviderAction)
            .Run(programNameStartTimeFunctionalityMessagesOutputDirectoryPathProviderAction)
            .Run(projectFileDeserializationMessagesOutputFileNameProviderAction)
            .Run(relativeFilePathsVisualStudioProjectFileSerializerAction)
            .Run(stringlyTypedPathOperatorAction)
            .Run(temporaryDirectoryFilePathProviderAction)
            .Run(testingDataDirectoryContentPathsProviderAction)
            .Run(timestampUtcDirectoryNameProviderAction)
            .Run(visualStudioProjectFileSerializerAction)
            .Run(visualStudioProjectFileStreamSerializerAction)
            .Run(visualStudioProjectFileSerializerMessagesOutputFilePathProviderAction)
            .Run(visualStudioProjectFileToXElementConverter)
            .Run(visualStudioProjectFileDeserializationSettingsAction)
            .Run(visualStudioProjectFileValidatorAction)
            ;
        }
Example #17
0
        /// <summary>
        /// Adds the <see cref="RepositoryNameAndLocalDirectoryPathMappingStringSerializer"/> implementation of <see cref="IRepositoryNameAndLocalDirectoryPathMappingStringSerializer"/> as a <see cref="ServiceLifetime.Singleton"/>.
        /// </summary>
        public static IServiceAction <IRepositoryNameAndLocalDirectoryPathMappingStringSerializer> AddRepositoryNameAndLocalDirectoryPathMappingStringSerializerAction(this IServiceCollection services)
        {
            var serviceAction = ServiceAction.New <IRepositoryNameAndLocalDirectoryPathMappingStringSerializer>(() => services.AddRepositoryNameAndLocalDirectoryPathMappingStringSerializer());

            return(serviceAction);
        }
Example #18
0
        /// <summary>
        /// Adds the <see cref="VisualStudioProjectFileTransformer"/> implementation of <see cref="IVisualStudioProjectFileTransformer"/> as a <see cref="ServiceLifetime.Singleton"/>.
        /// </summary>
        public static IServiceAction <IVisualStudioProjectFileTransformer> AddVisualStudioProjectFileTransformerAction(this IServiceCollection services)
        {
            var serviceAction = ServiceAction <IVisualStudioProjectFileTransformer> .New(() => services.AddVisualStudioProjectFileTransformer());

            return(serviceAction);
        }
        /// <summary>
        /// Adds the <see cref="LocalUserProfileDirectoryPathProvider"/> implementation of <see cref="IUserProfileDirectoryPathProvider"/> as a <see cref="ServiceLifetime.Singleton"/>.
        /// </summary>
        public static IServiceAction <IUserProfileDirectoryPathProvider> AddLocalUserProfileDirectoryPathProviderAction_Old(this IServiceCollection services)
        {
            var serviceAction = ServiceAction <IUserProfileDirectoryPathProvider> .New(() => services.AddLocalUserProfileDirectoryPathProvider_Old());

            return(serviceAction);
        }
        /// <summary>
        /// Adds the <see cref="CurrentUtcDateTimeProvider"/> implementation of <see cref="ICurrentUtcDateTimeProvider"/> as a <see cref="ServiceLifetime.Singleton"/>.
        /// </summary>
        public static IServiceAction <ICurrentUtcDateTimeProvider> AddCurrentUtcDateTimeProviderAction(this IServiceCollection services)
        {
            var serviceAction = ServiceAction.New <ICurrentUtcDateTimeProvider>(() => services.AddCurrentUtcDateTimeProvider());

            return(serviceAction);
        }
Example #21
0
        /// <summary>
        /// Adds a file-based <see cref="IHumanOutput"/> service that uses the default human output file name.
        /// </summary>
        public static IServiceAction <IHumanOutput> AddFileHumanOutputAction(this IServiceCollection services)
        {
            var serviceAction = ServiceAction <IHumanOutput> .New(() => services.AddFileHumanOutput());

            return(serviceAction);
        }
Example #22
0
        /// <summary>
        /// Adds the <see cref="MessageFormatter"/> implementation of <see cref="IMessageFormatter"/> as a <see cref="ServiceLifetime.Singleton"/>.
        /// </summary>
        public static IServiceAction <IMessageFormatter> AddMessageFormatterAction(this IServiceCollection services)
        {
            var serviceAction = ServiceAction <IMessageFormatter> .New(() => services.AddMessageFormatter());

            return(serviceAction);
        }
        /// <summary>
        /// Adds the see <see cref="VisualStudioProjectFileXDocumentPrettifier"/> implementation of <see cref="IVisualStudioProjectFileXDocumentPrettifier"/> as a s<see cref="ServiceLifetime.Singleton"/>.
        /// </summary>
        public static IServiceAction <IVisualStudioProjectFileXDocumentPrettifier> AddVisualStudioProjectFileXDocumentPrettifierAction(this IServiceCollection services)
        {
            var serviceAction = ServiceAction.New <IVisualStudioProjectFileXDocumentPrettifier>(() => services.AddVisualStudioProjectFileXDocumentPrettifier());

            return(serviceAction);
        }