Beispiel #1
0
 public void RegisterTypes(Container container, ILicensedAssemblies licensedAssemblies)
 {
     container.Register <RootExceptionFilterAttribute>(Lifestyle.Singleton);
     container.Register(() => new RequestLanguage(new Language(CultureInfo.CurrentCulture.TwoLetterISOLanguageName)));
     container.Register(() => new RequestLanguageCode(container.GetInstance <ILanguageResolver>().GetRequestLanguageKiss4Code()));
     container.Register <IRootProcessRegistrator, RootProcessRegistrator>();
 }
        public void RegisterTypes(Container container, ILicensedAssemblies assemblies)
        {
            container.Register <IMediator, Mediator>();
            var conreteCommandHandler = container.GetTypesToRegister(typeof(TypedMessageHandler <>), assemblies.Assemblies)
                                        .Where(typ => typ.IsPublic && typ.BaseType?.GetGenericArguments()[0]?.IsDerivedOfType <Message>() == true)
                                        .ToList();

            //var conreteCommandHandler = assemblies.Assemblies
            //                                      .SelectMany(ass => ass.GetTypes())
            //                                      .Where(typ => typ.BaseType != null &&
            //                                                    typ.BaseType.IsConstructedGenericType &&
            //                                                    typ.BaseType.GetGenericTypeDefinition() == typeof(TypedMessageHandler<>) &&
            //                                                    typ.BaseType.GetGenericArguments()[0].IsDerivedOfType<Message>())
            //                                                    .Select(typ=>new
            //    {
            //        typ
            //    })
            //                                      .ToList();
            conreteCommandHandler.DoForEach(typ => container.RegisterConditional(typ.BaseType, typ, c => !c.Handled));

            var conreteQueryHandler = container.GetTypesToRegister(typeof(TypedMessageHandler <,>), assemblies.Assemblies)
                                      .Where(typ => typ.IsPublic && typ.BaseType?.GetGenericArguments()[0]?.IsDerivedOfType <Message>() == true)
                                      .ToList();

            conreteQueryHandler.DoForEach(typ => container.RegisterConditional(typ.BaseType, typ, c => !c.Handled));
        }
Beispiel #3
0
        public void RegisterTypes(Container container, ILicensedAssemblies assemblies)
        {
            container.Register <IDbContext>(container.GetInstance <Kiss4DbContext>);
            container.Register <ISaveableDbSetContainer>(container.GetInstance <Kiss4DbContext>);
            container.Register <IDbSetContainer>(container.GetInstance <Kiss4DbContext>);
            container.Register(() => container.GetInstance <Kiss4DbContext>().Database);
            container.Register(() => container.GetInstance <IDesignTimeDbContextFactory <Kiss4DbContext> >().CreateDbContext(new string[] { }));

            container.Register(() => new SqlConnection(container.GetInstance <ConnectionString>()));

            //container.AddRegistration(typeof(IBulkInsertContext), registration);
            //container.AddRegistration(typeof(IDirectSqlCommandContext), registration);
            container.Register(typeof(IRepository <>), typeof(Repository <>));

            container.RegisterSingleton(() => new EntityTypeConfigurationFactory(assemblies.Assemblies, null));
            //container.RegisterSingleton(() => container.GetInstance<IDbModelComposer>().ComposeModel());
            //container.RegisterSingleton<IDbModelComposer, DbModelComposer>();
            container.RegisterSingleton <IDbModelVerifier, DbModelVerifier>();
            //container.RegisterSingleton<IShadowTableMapper, ShadowTableMapper>();

            container.RegisterConditional(typeof(IQueryable <>), typeof(Queryable <>), c => !c.Handled);
            //container.RegisterConditional(typeof(IQueryable<>), typeof(DbSet<>), c => !c.Handled);

            container.RegisterSingleton <IDesignTimeDbContextFactory <Kiss4DbContext>, Kiss4DbContextFactory>();
            container.RegisterSingleton <IDbContextFactory, Kiss4DbContextFactory>();

            var dbAuditors = assemblies.Assemblies.GetTypesImplementing <IDbChangeAuditor>();

            container.RegisterCollection <IDbChangeAuditor>(dbAuditors);

            container.Register(typeof(IValidator <>), assemblies.Assemblies);
        }
        public void RegisterTypes(Container container, ILicensedAssemblies licensedAssemblies)
        {
            container.Register <IKiss4TranslationProvider, Kiss4TranslationProvider>();
            container.RegisterDecorator <IKiss4TranslationProvider, Kiss4TranslationCache>();

            container.Register <ILanguageResolver, LanguageResolver>();
        }
Beispiel #5
0
        public void RegisterTypes(Container container, ILicensedAssemblies licensedAssemblies)
        {
            container.Register <IExceptionTranslator, ExceptionTranslator>(Lifestyle.Singleton);
            container.RegisterCollection <IExceptionTranslation>(licensedAssemblies.GetTypes <IExceptionTranslation>());

            container.RegisterSingleton <ExceptionSerializer>();

            container.Register <IWarningsCollector, WarningsCollector>();
        }
Beispiel #6
0
        public void RegisterTypes(Container container, ILicensedAssemblies assemblies)
        {
            //container.Register<IIdentityResolver, IdentityResolver>();

            container.RegisterSingleton <IUserIdProvider, UserIdProvider>();

            container.Register <AuthenticatedUserId>(() => container.GetInstance <IUserIdProvider>().UserId);
            //container.Register<AuthenticatedLogin>(() => ExctratLogin(container.GetInstance<IHttpContextAccessor>()));
            container.Register <AuthenticatedUsername>(() => container.GetInstance <IHttpContextAccessor>().HttpContext?.User?.Identity?.Name ?? "unbekannt");
        }
        public void RegisterTypes(Container container, ILicensedAssemblies licensedAssemblies)
        {
            var circuitBreakers = licensedAssemblies.GetTypes <CircuitBreaker>().ToList();

            circuitBreakers.DoForEach(cbt => container.RegisterSingleton(cbt, cbt));
            container.RegisterCollection <CircuitBreaker>(circuitBreakers);

            container.RegisterSingleton <CircuitBreakerRegistry>();
            container.RegisterSingleton <CircuitBreakerAttributeLookup>();
        }
        public void RegisterTypes(Container container, ILicensedAssemblies licensedAssemblies)
        {
            container.Register <IFeatureRegistry, FeatureRegistry>();
            container.Register <FeatureConfigurationStorage>();

            // allow to inject featureconfiguration directly
            var featureConfigurations = licensedAssemblies.GetTypes <IFeatureConfiguration>()
                                        .Except(licensedAssemblies.GetTypes <IDefaultFeatureConfiguration>())
                                        .Where(cfg => !cfg.HasAttribute <NeedsOptionalKeyAttribute>())
                                        .ToList();

            featureConfigurations.DoForEach(cfg => container.Register(cfg, () => container.GetInstance <IFeatureRegistry>()
                                                                      .GetFeatureConfiguration(cfg.AssemblyQualifiedName)));
            // default configs
            var defaultFeatureConfigurations = licensedAssemblies.Get <IDefaultFeatureConfiguration>()
                                               .Where(cfg => cfg != null)
                                               .ToArray();

            container.RegisterCollection(defaultFeatureConfigurations);
        }
 public void RegisterTypes(Container container, ILicensedAssemblies licensedAssemblies)
 {
     container.RegisterConditional(typeof(TypedMessageHandler <>), typeof(SaveCommandHandler <>), c => !c.Handled);
 }
 public void RegisterTypes(Container container, ILicensedAssemblies licensedAssemblies)
 {
     container.Register <IAuthorizationChecker, AuthorizationChecker>();
     container.Register <IUserRightsProvider, UserRightsProvider>();
     container.RegisterDecorator <IUserRightsProvider, UserRightsCache>();
 }
 public void RegisterTypes(Container container, ILicensedAssemblies licensedAssemblies)
 {
     container.Register <IKiss4Configuration, Kiss4Configuration>();
 }