public static void Init(IIoC ioc)
        {
            ioc.Register <IConnectionStringProvider, ConnectionStringProvider>();
            ioc.Register <IUnitOfWork, EfUnitOfWork>();
            ioc.Register <IDbContextFactory, DbContextFactory>();
            ioc.Register <IRepositoryFactory, RepositoryFactory>();
            ioc.Register <IDbVersionProvider, DbVersionProvider>();

            OrmInitializer.Init();

            ioc.Get <IPredefinedDataManager>().Register("_02_", new ForumInitializer());
        }
        private static void SetupInversionOfControl()
        {
            _ioc = Locator.GetContainer();
            _ioc.Register <ICertificateIdentifier, CertificateIdentifier>()
            .Extend()
            .WithSpecific <string>(ConfigurationManager.AppSettings["Encryption-Certificate-Identifier"]);

            _ioc.Register <CertificateObtainerSettings>()
            .Extend()
            .WithSpecific <StoreName>(StoreName.My)
            .WithSpecific <StoreLocation>(StoreLocation.LocalMachine)
            .WithSpecific <X509FindType>(X509FindType.FindBySerialNumber)
            .WithResolveStrategy(ConstructorResolveStrategy.Complex);

            _ioc.Register <ICertificateObtainer, CertificationStoreExactCertificateObtainer>()
            .Extend()
            .WithResolveStrategy(ConstructorResolveStrategy.Complex);

            _ioc.Register <RsaCertificateEncryptor>(provider => new RsaCertificateEncryptor(provider.Resolve <ICertificateObtainer>(), RSAEncryptionPadding.OaepSHA1));
        }
Exemplo n.º 3
0
 /// <summary>
 /// Initialise MVVM Mappings but does not load a default page
 /// </summary>
 /// <typeparam name="TInitiliser">Initialisation class</typeparam>
 /// <param name="ioC">Inversion of Control implementation to use</param>
 /// <returns>Asynchronous Task</returns>
 public static async Task InitiliseAsync <TInitiliser>(IIoC ioC, bool includeNavigationPage = true)
     where TInitiliser : Initiliser
 {
     IoC = ioC;
     IoC.Register(Activator.CreateInstance <TInitiliser>());
 }
Exemplo n.º 4
0
 public static IIoC Register(this IIoC ioc, Type type, params object[] args)
 {
     return(ioc.Register(type, args));
 }
Exemplo n.º 5
0
 public static IIoC Register <T>(this IIoC ioc, params object[] args)
 {
     return(ioc.Register(typeof(T), args));
 }
Exemplo n.º 6
0
 public static IIoC Register <T>(this IIoC ioc, string id)
 {
     return(ioc.Register(typeof(T), id));
 }
Exemplo n.º 7
0
 public static IIoC Register(this IIoC ioc, Type type)
 {
     return(ioc.Register(type));
 }
Exemplo n.º 8
0
 public static IIoC Register <T>(this IIoC ioc)
 {
     return(ioc.Register(typeof(T)));
 }
Exemplo n.º 9
0
 public static IIoC Register <T>()
 {
     return(_current.Register(typeof(T)));
 }
Exemplo n.º 10
0
 /**
  * Register services to IOC
  * **/
 public static void RegisterApplicationServices(this IIoC ioc)
 {
     ioc.Register <ICustomerRepositoryDB>()
     .Register <IPartInvoiceRepositoryDB>()
     .Register <Services.PartAvailabilityService.IPartAvailabilityService>();
 }
Exemplo n.º 11
0
        private static void SetupInversionOfControl()
        {
            _ioc = Locator.GetContainer();

            _ioc.Register <IDirectoryWrapper, DirectoryWrapper>();

            _ioc.Register <IFileWrapper, FileWrapper>();

            if (bool.Parse(ConfigurationManager.AppSettings["Use-SSH-Tunel"]))
            {
                _ioc.Register <ISSHTunel, SSHTunel>()
                .Extend()
                .WithResolveStrategy(ConstructorResolveStrategy.Complex);
            }

            _ioc.Register <IMongoDataSource, MongoDatabaseDataSource>()
            .Extend()
            .WithSpecific <string>(ConfigurationManager.AppSettings["Mongo-Connection-String"])
            .WithResolveStrategy(ConstructorResolveStrategy.Complex);

            _ioc.Register <IServiceExporter, ServiceMainExporter>();
            _ioc.Register <DatabaseExporterWindowsService>();

            if (Environment.UserInteractive)
            {
                _ioc.Register <IProcessInterupter, ConsoleProcessInterupter>();
                _ioc.Register <IExportScheduler, ConsoleScheduler>();
                _ioc.Register <IContinueDecision, ConsoleContinueDecision>();
                _ioc.Register <ICustomLogger, ConsoleLogger>();
            }
            else
            {
                _ioc.Register <IProcessInterupter, EmptyProcessInterupter>();
                _ioc.Register <IExportScheduler, ServiceScheduler>();
                _ioc.Register <IContinueDecision, ServiceContinueDecision>();
                _ioc.Register <ICustomLogger, EventLogLogger>();
            }

            if (bool.Parse(ConfigurationManager.AppSettings["Export-To-FS"]))
            {
                _ioc.Register <ISpecificUnifiExporter, UnifiToFileSystemExporter>()
                .Extend()
                .WithSpecific <string>(ConfigurationManager.AppSettings["Backup-Path"]);
            }

            if (bool.Parse(ConfigurationManager.AppSettings["Export-To-DB"]))
            {
                _ioc.Register <ISpecificUnifiExporter, UnifiToSqlDatabaseExporter>()
                .Extend()
                .WithSpecific <int>(int.Parse(ConfigurationManager.AppSettings["Sql-Batch-Size"]));
            }

            string connectionString = ConfigurationManager.AppSettings["Sql-Connection-String"];

            _ioc.Register <IDatabaseChecker, DatabaseChecker>()
            .Extend()
            .WithSpecific <string>(connectionString);

            _ioc.Register <IDatabaseWriter, DatabaseWriter>()
            .Extend()
            .WithSpecific <string>(connectionString);

            if (bool.Parse(ConfigurationManager.AppSettings["Use-Encrypted-Psswords"]))
            {
                _ioc.Register <ICertificateIdentifier, CertificateIdentifier>()
                .Extend()
                .WithSpecific <string>(ConfigurationManager.AppSettings["Encryption-Certificate-Identifier"]);

                _ioc.Register <CertificateObtainerSettings>()
                .Extend()
                .WithSpecific <StoreName>(StoreName.My)
                .WithSpecific <StoreLocation>(StoreLocation.LocalMachine)
                .WithSpecific <X509FindType>(X509FindType.FindBySerialNumber)
                .WithResolveStrategy(ConstructorResolveStrategy.Complex);

                _ioc.Register <ICertificateObtainer, CertificationStoreExactCertificateObtainer>()
                .Extend()
                .WithResolveStrategy(ConstructorResolveStrategy.Complex);

                _ioc.Register <RsaCertificateEncryptor>(provider => new RsaCertificateEncryptor(provider.Resolve <ICertificateObtainer>(), RSAEncryptionPadding.OaepSHA1));

                _ioc.Register <ICustomCredential>(provider => new EncryptedCredential(ConfigurationManager.AppSettings["Sql-User-Id"],
                                                                                      ConfigurationManager.AppSettings["Sql-User-Password"],
                                                                                      provider.Resolve <RsaCertificateEncryptor>()));
            }
            else
            {
                _ioc.Register <ICustomCredential>(provider => new CustomCredential(ConfigurationManager.AppSettings["Sql-User-Id"],
                                                                                   ConfigurationManager.AppSettings["Sql-User-Password"]));
            }

            _ioc.Register <ICheckerCommandCreatorProvider, CheckerCommandCreatorProvider>();
            _ioc.Register <IWriterCommandCreatorProvider, WriterCommandCreatorProvider>();

            _ioc.Register <IBlacklistItemParser, BlacklistItemParser>();
            _ioc.Register <IBlacklist, SimpleTableBlacklist>()
            .Extend()
            .WithSpecific <string>(ConfigurationManager.AppSettings["Blacklisted-Table-Names"]);
        }