Exemplo n.º 1
0
        public IoCInit WithProvider(IIoCProvider iocProvider)
        {
            Guard.NotNull("iocProvider", iocProvider);

            this.provider = iocProvider;
            return(this);
        }
Exemplo n.º 2
0
 public IoCContainer(IIocOptions options, IIoCProvider parentProvider = null)
 {
     Options = options ?? new IocOptions();
     if (parentProvider != null)
     {
         _parentProvider = parentProvider;
     }
 }
Exemplo n.º 3
0
        }                                                         //_container.Resolve<IIoCProvider>();

        //public AppSetupBase AppSetupBase => _container.Resolve<AppSetupBase>();

        internal IoCProvider(ContainerBuilder builder)
        {
            if (Provider == null)
            {
                Provider = this;
            }
            _builder = builder;
            builder.RegisterInstance(this).As <IIoCProvider>();
            builder.Register <IContainer>((x, c) => GetContainer());
            _container = builder.Build();
        }
Exemplo n.º 4
0
        private static void RegisterDataProviderPackages(IIoCProvider ioc, TridentOptions config, IConnectionStringSettings connStringManager)
        {
            //need a fix that works for everything or multiple fixes.... dll are lazy JIT and somethimes there are on in the bin either, wtf msft
            var assList = new List <Assembly>();

            assList.AddRange(config.TargetAssemblies);
            assList.AddRange(AppDomain.CurrentDomain.GetAssemblies().Where(x => x.GetName().Name.StartsWith("Trident.")));
            var extenders = assList.Distinct().SelectMany(x => x.GetTypes())
                            .Where(x => typeof(IDataExtender).IsAssignableFrom(x) && !x.IsInterface && !x.IsAbstract)
                            .Select(x => Activator.CreateInstance(x) as IDataExtender)
                            .ToList();

            foreach (var x in extenders)
            {
                x.RegisterSupportedConnections(config, connStringManager, ioc);
            }
        }
Exemplo n.º 5
0
 public ConstructingOpenGenericResolver(Type genericTypeDefinition, IIoCProvider parent)
 {
     _genericTypeDefinition = genericTypeDefinition;
     _parent = parent;
 }
Exemplo n.º 6
0
 public ConstructingResolver(Type type, IIoCProvider parent)
 {
     _type   = type;
     _parent = parent;
 }
Exemplo n.º 7
0
        public void RegisterSupportedConnections(TridentOptions config, IConnectionStringSettings connStringManager, IIoCProvider provider)
        {
            provider.Register <RestConnectionStringResolver, IRestConnectionStringResolver>(LifeSpan.SingleInstance);
            provider.Register <RestSharpClient, IRestClient>(LifeSpan.SingleInstance);

            //this is so context objects dataSourceName does blowup if verify is used
            provider.RegisterBehavior <string>(() => "Test container Verify String", LifeSpan.SingleInstance);

            foreach (var conn in connStringManager)
            {
                if (ProviderSetups.ContainsKey(conn.ProviderName))
                {
                    ProviderSetups[conn.ProviderName](provider, config, conn);
                }
            }
        }
Exemplo n.º 8
0
 /// <summary>
 /// Initializes a new instance of the <see cref="IoCInitializer"/> class.
 /// </summary>
 /// <param name="bootstrapScanner">The bootstrap scanner.</param>
 /// <param name="iocProvider">The ioc provider.</param>
 public IoCInitializer(IBootstrapScanner bootstrapScanner, IIoCProvider iocProvider)
 {
     _bootstrapScanner = bootstrapScanner;
     _iocProvider      = iocProvider;
 }
Exemplo n.º 9
0
 public TestServiceImpl(IIoCProvider ioCProvider)
 {
     Console.WriteLine("create TestServiceImpl");
 }
Exemplo n.º 10
0
 protected AppSetupBase(IIoCProvider ioCProvider)
 {
     _ioCProvider = ioCProvider;
 }
Exemplo n.º 11
0
        public void RegisterSupportedConnections(TridentOptions config, IConnectionStringSettings connStringManager, IIoCProvider provider)
        {
            provider.Register <OptionsFactory, IOptionsFactory>(LifeSpan.SingleInstance);
            provider.Register <EFCoreModelBuilderFactory, IEFCoreModelBuilderFactory>(LifeSpan.SingleInstance);
            provider.Register <DBProviderAbstractFactory, IDBProviderAbstractFactory>(LifeSpan.SingleInstance);
            provider.Register <EntityMapFactory, IEntityMapFactory>(LifeSpan.SingleInstance);
            provider.RegisterAll <IEntityMapper>(config.TargetAssemblies, LifeSpan.SingleInstance);

            //this is so context objects dataSourceName does blowup if verify is used
            provider.RegisterBehavior <string>(() => "Test container Verify String", LifeSpan.SingleInstance);
            provider.RegisterBehavior <DbContextOptions>(() => new InjectionVerifyDbContextOptions());

            if (connStringManager.Count() > 0)
            {
                foreach (var conn in connStringManager)
                {
                    var pn = conn.ProviderName.ToLower();

                    if (ProviderSetups.ContainsKey(pn))
                    {
                        ProviderSetups[pn](provider, config, conn);
                    }
                }
            }
            else
            {
                //add warning
            }
        }