protected override void Load(ContainerBuilder containerBuilder)
        {
            containerBuilder.RegisterType <DateTimeProvider.DateTimeProvider>().As <IDateTimeProvider>();
            containerBuilder.RegisterType <ExportJobPipelineProvider>().As <IIlrPipelineProvider>();
            containerBuilder.RegisterType <DesktopTaskExecutionService>().As <IDesktopTaskExecutionService>();
            containerBuilder.RegisterType <IlrDesktopService>().As <IIlrDesktopService>();

            containerBuilder.RegisterType <BuildDataStoreDesktopTask>().Keyed <IDesktopTask>(IlrDesktopTaskKeys.DatabaseCreate);
            containerBuilder.RegisterModule <BuildDataStoreModule>();

            containerBuilder.RegisterType <DataStoreDesktopTask>().Keyed <IDesktopTask>(IlrDesktopTaskKeys.DataStore);
            containerBuilder.RegisterModule <DataStoreModule>();

            containerBuilder.RegisterType <BuildMdbDesktopTask>().Keyed <IDesktopTask>(IlrDesktopTaskKeys.MdbCreate);
            containerBuilder.RegisterModule <BuildMdbModule>();

            containerBuilder.RegisterType <MdbDesktopTask>().Keyed <IDesktopTask>(IlrDesktopTaskKeys.MdbExport);
            containerBuilder.RegisterModule <MdbModule>();

            containerBuilder.RegisterType <PublishMdbDesktopTask>().Keyed <IDesktopTask>(IlrDesktopTaskKeys.MdbPublish);

            containerBuilder.RegisterType <JsonSerializationService>().As <IJsonSerializationService>().As <ISerializationService>();
            containerBuilder.RegisterType <XmlSerializationService>().As <IXmlSerializationService>();

            containerBuilder.RegisterType <ContextMutatorExecutor>().As <IContextMutatorExecutor>();
            containerBuilder.RegisterType <CommandLineMessengerService>().As <IMessengerService>();

            containerBuilder.RegisterType <FileSystemFileService>().As <IFileService>();
            containerBuilder.RegisterType <FileSystemKeyValuePersistenceService>()
            .As <IKeyValuePersistenceService>()
            .As <IStreamableKeyValuePersistenceService>();

            var fileSystemKeyValuePersistenceServiceConfiguration = new FileSystemKeyValuePersistenceServiceConfig()
            {
                Directory = "Sandbox"
            };

            containerBuilder.RegisterInstance(fileSystemKeyValuePersistenceServiceConfiguration).As <IFileSystemKeyValuePersistenceServiceConfig>();

            containerBuilder
            .RegisterAdapter <IIndex <IlrDesktopTaskKeys, Func <Module> >, IImmutableDictionary <IlrDesktopTaskKeys, Func <Module> > >(
                idx =>
            {
                return(Enum.GetValues(typeof(IlrDesktopTaskKeys)).Cast <IlrDesktopTaskKeys>()
                       .Where(x => idx.TryGetValue(x, out _))
                       .ToImmutableDictionary(i => i, v => idx[v]));
            });
        }
Beispiel #2
0
        protected override void Load(ContainerBuilder containerBuilder)
        {
            containerBuilder.RegisterType <FileSystemFileService>().As <IFileService>();
            containerBuilder.RegisterType <FileSystemKeyValuePersistenceService>()
            .As <IKeyValuePersistenceService>()
            .As <IStreamableKeyValuePersistenceService>();

            containerBuilder.RegisterType <CsvFileService>().As <ICsvFileService>();
            containerBuilder.RegisterType <ExcelFileService>().As <IExcelFileService>();
            containerBuilder.RegisterType <ZipArchiveService>().As <IZipArchiveService>();

            var fileSystemKeyValuePersistenceServiceConfiguration = new FileSystemKeyValuePersistenceServiceConfig()
            {
                Directory = "Sandbox"
            };

            containerBuilder.RegisterInstance(fileSystemKeyValuePersistenceServiceConfiguration).As <IFileSystemKeyValuePersistenceServiceConfig>();

            containerBuilder.RegisterType <AssemblyService>().As <IAssemblyService>();
            containerBuilder.RegisterType <ReleaseVersionInformationService>().As <IReleaseVersionInformationService>();
            containerBuilder.RegisterType <ReferenceDataVersionInformationService>().As <IReferenceDataVersionInformationService>();
            containerBuilder.RegisterType <FeatureSwitchService>().As <IFeatureSwitchService>();
        }