public static IDryvBuilder Configure(IDependencyContainer container, Action <DryvOptions> setupAction = null) { if (container == null) { throw new ArgumentNullException(nameof(container)); } ModelValidatorProviders.Providers.Add(new DryvModelValidatorProvider()); var options = new DryvOptions(); setupAction?.Invoke(options); container.RegisterSingleton(typeof(IDryvClientModelValidator), typeof(DryvClientModelValidator)); container.RegisterSingleton(typeof(ITranslator), typeof(JavaScriptTranslator)); container.RegisterSingleton(typeof(ITranslatorProvider), typeof(TranslatorProvider)); container.RegisterInstance(typeof(DryvOptions), options); return(new DryvBuilder(container) .AddTranslator <ObjectTranslator>() .AddTranslator <DryvResultTranslator>() .AddTranslator <StringTranslator>() .AddTranslator <EnumerableTranslator>() .AddTranslator <RegexTranslator>()); }
public static IDependencyContainer RegisterFormsDependencies(this IDependencyContainer container) { container.RegisterSingleton <IDialogService, DialogService>(); container.RegisterSingleton <INavigationService, NavigationService>(); container.Register <IAuthenticationService, AuthenticationService>(); return(container); }
static ApplicationContainer() { Container = DependencyContainer.Create(); //In House Types Container.RegisterSingleton <IZoo, Zoo>(() => new Zoo(Container.Resolve <IAnimalService>(), Container.Resolve <IVisitorService>())); Container.Register <IVisitorService, VisitorService>(() => new VisitorService(Container.Resolve <IPersonNameGenerator>())); Container.Register <IAnimalService, AnimalService>(); //External Types Container.Register <IPersonNameGenerator, PersonNameGenerator>(); }
public void Configure(IDependencyContainer container) { container.Register<IEventPublisher, EventPublisher>(); container.Register<IEventListener, AsyncTestEventListener>(); AConf aSyncConf = new AConf(); aSyncConf.EndPoint = () => { return "async/execute"; }; aSyncConf.SiteUrl = () => { return ConfigurationManager.AppSettings["SiteURL"]; }; container.RegisterSingleton<IAsyncConfiguration>(aSyncConf); container.Register<IAsyncTask, AsyncWebTask>(); }
public void Configure(IDependencyContainer container) { container.Register <IEventPublisher, EventPublisher>(); container.Register <IEventListener, AsyncTestEventListener>(); AConf aSyncConf = new AConf(); aSyncConf.EndPoint = () => { return("async/execute"); }; aSyncConf.SiteUrl = () => { return(ConfigurationManager.AppSettings["SiteURL"]); }; container.RegisterSingleton <IAsyncConfiguration>(aSyncConf); container.Register <IAsyncTask, AsyncWebTask>(); }
public static IDependencyContainer RegisterCoreDependencies(this IDependencyContainer container) { container.RegisterSingleton <IDataManager, DataManager>(); container.RegisterSingleton <IAuthenticationManager, AuthenticationManager>(); return(container); }
public void Bootstrap(IDependencyContainer container) { var dbFactory = InitTableMappings(); container.RegisterSingleton(dbFactory); }
public static IDependencyContainer AddDependencies(this IDependencyContainer container) { container.RegisterType <IMappingService, MappingService>(); container.RegisterType <IConfig, DeveloperConfig>(); //container.RegisterType<IConfig, Config>(); container.RegisterSingleton <ILogger, Logger>(); container.RegisterType <IExecutionTimerLogger, ExecutionTimerLogger>(); container.RegisterType <IDependencyContainer, DependencyContainer>(); container.RegisterType <IHost, Host>(); container.RegisterType <IAuthenticationManager, AuthenticationManager>(); container.RegisterType(typeof(IService <>), typeof(BaseService <>)); container.RegisterType <IUserService, UserService>(); container.RegisterType <ICryptographyService, CryptographyService>(); container.RegisterType <ICarService, CarService>(); container.RegisterType <IUserRepository, UserRepository>(); container.RegisterType <ICarRepository, CarRepository>(); var types = AppDomain.CurrentDomain.GetAssemblies() .SelectMany(s => s.GetExportedTypes()) .Where(t => !t.IsAbstract && t.IsClass && t.GetInterfaces() .Any(c => c.IsGenericType && typeof(IRepository <>) .IsAssignableFrom(c.GetGenericTypeDefinition()))); foreach (var type in types) { var inheritedFrom = type.GetInterfaces() .First(x => x.IsGenericType && typeof(IRepository <>).IsAssignableFrom(x.GetGenericTypeDefinition())); container.RegisterType(inheritedFrom, type); } container.RegisterType <IValidator, Validator>(); container.RegisterType <ICommandUser, CommandUser>(); container.RegisterType <IParser, Parser>(); container.RegisterType <IModelBinder, DefaultModelBinder>(); var commandTypes = AppDomain.CurrentDomain.GetAssemblies() .SelectMany(s => s.GetExportedTypes()) .Where(x => typeof(ICommand).IsAssignableFrom(x) && !x.IsAbstract && x.IsClass && x.IsDefined(typeof(CommandRouteAttribute))); foreach (var type in commandTypes) { var attributeValue = type.GetCustomAttributesData() .First(c => c.AttributeType == typeof(CommandRouteAttribute)) .ConstructorArguments .Select(z => z.Value) .First() .ToString(); container.RegisterType(typeof(ICommand), type, attributeValue); } return(container); }
public void Bootstrap(IDependencyContainer container) { // Framework "er"s container.RegisterSingleton<IHttpRequestHandler, HttpRequestHandler>(); container.RegisterSingleton<IJsonSerializer, NewtonsoftJsonSerializer>(); container.RegisterSingleton<IRouteResolver, RouteResolver>(); container.RegisterSingleton<IParameterResolver, ParameterResolver>(); container.RegisterSingleton<IActionInvoker, ActionInvoker>(); container.RegisterSingleton<IOwinHandler, GenericOwinHandler>(); container.RegisterSingleton<IServiceConfigBuilder, ServiceConfigBuilder>(); container.RegisterSingleton<ILogger, SimpleLogger>(); // Database container.RegisterTransient<IUnitOfWork, UnitOfWork>(); container.RegisterSingleton<IUnitOfWorkStack, UnitOfWorkStack>(); container.RegisterSingleton<IRepository, Repository>(); // Interceptors container.RegisterSingleton<IActionInterceptorBuilder, MonospadActionInterceptorBuilder>(); // Providers container.RegisterSingleton<IAuthProvider, AuthProvider>(); container.RegisterSingleton<ICryptoProvider, CryptoProvider>(); container.RegisterSingleton<IMailProvider, MailProvider>(); container.RegisterSingleton<IServiceRouteProvider, MonospadRouteProvider>(); // Auth container.RegisterSingleton<IUserService, UserService>(); container.RegisterSingleton<INoteService, NoteService>(); }