Exemplo n.º 1
0
        public IBindingScope ToFactory(IInjectionFactory factory)
        {
            var binding = new Binding(ContractType, BaseTypes, factory);
            Container.Binder.Bind(binding);

            return new BindingScope(binding);
        }
Exemplo n.º 2
0
        public AvalancheRunnerTests()
        {
            _logger     = Substitute.For <ILogger <AvalancheRunner> >();
            _glacier    = Substitute.For <IGlacierGateway>();
            _lightroom  = Substitute.For <ILightroomReader>();
            _avalanche  = Substitute.For <IAvalancheRepository>();
            _parameters = new ExecutionParameters
            {
                Glacier = new GlacierParameters
                {
                },
                Avalanche = new AvalancheParameters
                {
                }
            };

            _glacierFactory = Substitute.For <IInjectionFactory <IGlacierGateway> >();
            _glacierFactory.Create().Returns(_glacier);

            _lightroomFactory = Substitute.For <IInjectionFactory <ILightroomReader> >();
            _lightroomFactory.Create().Returns(_lightroom);
            _lightroom.GetCatalogId().Returns(Guid.NewGuid());

            _avalancheFactory = Substitute.For <IInjectionFactory <IAvalancheRepository> >();
            _avalancheFactory.Create().Returns(_avalanche);

            _sut = new AvalancheRunner(_logger, _glacierFactory, _lightroomFactory, _avalancheFactory, _parameters);
        }
Exemplo n.º 3
0
 public Binding(Type contractType, Type[] baseTypes, IInjectionFactory factory, IInjectionScope scope = null, Predicate<InjectionContext> condition = null)
 {
     ContractType = contractType;
     BaseTypes = baseTypes;
     Factory = factory;
     Scope = scope;
     Condition = condition;
 }
Exemplo n.º 4
0
 public Binding(Type contractType, Type[] baseTypes, IInjectionFactory factory, IInjectionScope scope = null, Predicate <InjectionContext> condition = null)
 {
     ContractType = contractType;
     BaseTypes    = baseTypes;
     Factory      = factory;
     Scope        = scope;
     Condition    = condition;
 }
Exemplo n.º 5
0
        public IBindingScope ToFactory(IInjectionFactory factory)
        {
            var binding = new Binding(ContractType, BaseTypes, factory);

            Container.Binder.Bind(binding);

            return(new BindingScope(binding));
        }
Exemplo n.º 6
0
        public void Add(Type interfaceKey, string identity, IInjectionFactory factory)
        {
            if (!_typeFactories.ContainsKey(interfaceKey))
            {
                _typeFactories.Add(interfaceKey, new Dictionary <string, IInjectionFactory>());
            }

            _typeFactories[interfaceKey].Add(identity, factory);
        }
Exemplo n.º 7
0
        public object GetInstance(IInjectionFactory factory, InjectionContext context)
        {
            if (!created)
            {
                instance = factory.Create(context);
                created = true;
            }

            return instance;
        }
Exemplo n.º 8
0
        public object GetInstance(IInjectionFactory factory, InjectionContext context)
        {
            if (!created)
            {
                instance = factory.Create(context);
                created  = true;
            }

            return(instance);
        }
Exemplo n.º 9
0
 public AvalancheRunner(ILogger <AvalancheRunner> logger,
                        IInjectionFactory <IGlacierGateway> glacierFactory,
                        IInjectionFactory <ILightroomReader> lightroomFactory,
                        IInjectionFactory <IAvalancheRepository> avalancheFactory,
                        ExecutionParameters parameters)
 {
     _logger           = logger;
     _glacierFactory   = glacierFactory;
     _lightroomFactory = lightroomFactory;
     _avalancheFactory = avalancheFactory;
     _parameters       = parameters;
 }
Exemplo n.º 10
0
        public TClass Resolve <TClass>()
        {
            if (!_factories.ContainsKey(typeof(TClass)))
            {
                return(_container.Resolve <TClass>());
            }

            IInjectionFactory <TClass> factory = _factories[typeof(TClass)] as IInjectionFactory <TClass>;

            if (factory == null)
            {
                throw new ArgumentException("TClass : factory = null");
            }
            TClass result = factory.Create(this);

            if (factory.IsSingleFactory)
            {
                _factories.Remove(typeof(TClass));
                RegisterInstance <TClass>(result);
            }

            return(result);
        }
Exemplo n.º 11
0
 public object GetInstance(IInjectionFactory factory, InjectionContext context)
 {
     return factory.Create(context);
 }
Exemplo n.º 12
0
        public static InjectionFactoryObjectWrapper <T> CreateWrapper <T>(this IInjectionFactory <T> factory)
        {
            var item = factory.Create();

            return(new InjectionFactoryObjectWrapper <T>(item, factory));
        }
Exemplo n.º 13
0
 public InjectionFactoryObjectWrapper(T item, IInjectionFactory <T> factory)
 {
     Item     = item;
     _factory = factory;
 }
Exemplo n.º 14
0
 public DeepCloneInjection(IInjectionFactory injectionFactory)
 {
     _injectionFactory = injectionFactory;
 }
Exemplo n.º 15
0
 public Binding(Type contractType, IInjectionFactory factory, IInjectionScope scope = null, Predicate <InjectionContext> condition = null)
     : this(contractType, Type.EmptyTypes, factory, scope, condition)
 {
 }
Exemplo n.º 16
0
 public Binding(Type contractType, IInjectionFactory factory, IInjectionScope scope = null, Predicate<InjectionContext> condition = null)
     : this(contractType, Type.EmptyTypes, factory, scope, condition)
 {
 }
Exemplo n.º 17
0
 public object GetInstance(IInjectionFactory factory, InjectionContext context)
 {
     return(factory.Create(context));
 }
Exemplo n.º 18
0
 public DomainService(IInjectionFactory <IDataService> dataServiceFactory)
 {
     _dataServiceFactory = dataServiceFactory;
 }