Example #1
0
        public IRelationalObject WithForeignKey(IBindingConfiguration config)
        {
            if (config == null)
            {
                throw new ArgumentNullException(nameof(config));
            }

            if (Parent == null || config.ForeignKeyPropertyName == null)
            {
                return(this);
            }

            if (Parent.Data == null)
            {
                throw new InvalidOperationException("Current object has no data");
            }

            if (!Parent.Data.ContainsKey(config.ForeignKeyPropertyName))
            {
                throw new ArgumentException($"There is no property in the parent data with the property name '{config.ForeignKeyPropertyName}'", "ForeignKeyPropertyName");
            }

            var augmentedData = new Dictionary <string, object>(Data);

            augmentedData.Add(config.ForeignKeyColumnName, Parent.Data[config.ForeignKeyPropertyName]);
            return(new RelationalObject
            {
                Data = augmentedData,
                RelationshipName = RelationshipName,
                Children = Children
            });
        }
Example #2
0
 public CacheContext()
 {
     this.cachePrunerMock      = new Mock <ICachePruner>();
     this.bindingConfiguration = new Mock <IBindingConfiguration>().Object;
     this.pipelineMock         = new Mock <IPipeline>();
     this.cache = new Cache(this.pipelineMock.Object, this.cachePrunerMock.Object);
 }
        /// <summary>
        /// Initializes a new instance of the <see cref="BindingConfigurationBuilder{T}"/> class.
        /// </summary>
        /// <param name="bindingConfiguration">The binding configuration to build.</param>
        /// <param name="serviceNames">The names of the configured services.</param>
        /// <exception cref="ArgumentNullException"><paramref name="bindingConfiguration"/> is <see langword="null"/>.</exception>
        public BindingConfigurationBuilder(IBindingConfiguration bindingConfiguration, string serviceNames)
        {
            Ensure.ArgumentNotNull(bindingConfiguration, nameof(bindingConfiguration));

            this.BindingConfiguration = bindingConfiguration;
            this.serviceNames         = serviceNames;
        }
Example #4
0
        private static IContext CreateContextMock(object scope, IBindingConfiguration bindingConfiguration, params Type[] genericArguments)
        {
            var bindingMock = new Mock <IBinding>();

            bindingMock.Setup(b => b.BindingConfiguration).Returns(bindingConfiguration);
            return(new ContextMock(scope, bindingMock.Object, genericArguments));
        }
Example #5
0
 public CacheContext()
 {
     this.cachePrunerMock = new Mock<ICachePruner>();
     this.bindingConfiguration = new Mock<IBindingConfiguration>().Object;
     this.pipelineMock = new Mock<IPipeline>();
     this.cache = new Cache(this.pipelineMock.Object, this.cachePrunerMock.Object);
 }
Example #6
0
 /// <summary>
 /// Initializes a new instance of the <see cref="BindingBuilder"/> class.
 /// </summary>
 /// <param name="bindingConfiguration">The binding to build.</param>
 /// <param name="kernel">The kernel.</param>
 /// <param name="serviceNames">The names of the services.</param>
 public BindingBuilder(IBindingConfiguration bindingConfiguration, IKernel kernel, string serviceNames)
 {
     Ensure.ArgumentNotNull(bindingConfiguration, "binding");
     Ensure.ArgumentNotNull(kernel, "kernel");
     this.BindingConfiguration = bindingConfiguration;
     this.Kernel       = kernel;
     this.ServiceNames = serviceNames;
 }
        /// <summary>
        /// Initializes a new instance of the <see cref="Binding"/> class.
        /// </summary>
        /// <param name="service">The service that is controlled by the binding.</param>
        /// <param name="configuration">The binding configuration.</param>
        public Binding(Type service, IBindingConfiguration configuration)
        {
            Ensure.ArgumentNotNull(service, "service");
            Ensure.ArgumentNotNull(configuration, "configuration");

            this.Service = service;
            this.BindingConfiguration = configuration;
        }
Example #8
0
 public ProxyBindingConfiguration(IBindingConfiguration parentConfiguration)
 {
     this.parentConfiguration = parentConfiguration;
     this.Parameters          = new List <IParameter>();
     this.ActivationActions   = new List <Action <IContext, object> >();
     this.DeactivationActions = new List <Action <IContext, object> >();
     this.ScopeCallback       = StandardScopeCallbacks.Transient;
 }
Example #9
0
 /// <summary>
 ///     Initializes a new instance of the BindingBuilder&lt;T&gt; class.
 /// </summary>
 /// <param name="bindingConfiguration">The binding configuration to build.</param>
 /// <param name="serviceNames">The names of the configured services.</param>
 /// <param name="kernel">The kernel.</param>
 public BindingConfigurationBuilder(IBindingConfiguration bindingConfiguration, string serviceNames, IKernel kernel)
 {
     Ensure.ArgumentNotNull(bindingConfiguration, "bindingConfiguration");
     Ensure.ArgumentNotNull(kernel, "kernel");
     BindingConfiguration = bindingConfiguration;
     Kernel            = kernel;
     this.serviceNames = serviceNames;
 }
Example #10
0
        /// <summary>
        /// Assigns the provider callback to the building configuration.
        /// </summary>
        /// <param name="bindingConfiguration">
        /// The building configuration.
        /// </param>
        /// <param name="prototype">
        /// The prototype.
        /// </param>
        public static void AssignProviderCallback(IBindingConfiguration bindingConfiguration, Type prototype)
        {
            var provider = new StandardProvider(prototype, null);

            bindingConfiguration.ProviderCallback           = ctx => provider;
            bindingConfiguration.InitializeProviderCallback =
                selector => provider.ConstructorScorer      = selector.ConstructorScorer;
        }
Example #11
0
        /// <summary>
        ///     Initializes a new instance of the <see cref="Binding" /> class.
        /// </summary>
        /// <param name="service">The service that is controlled by the binding.</param>
        /// <param name="configuration">The binding configuration.</param>
        public Binding(Type service, IBindingConfiguration configuration)
        {
            Ensure.ArgumentNotNull(service, "service");
            Ensure.ArgumentNotNull(configuration, "configuration");

            Service = service;
            BindingConfiguration = configuration;
        }
Example #12
0
        /// <summary>
        /// Initializes a new instance of the <see cref="Binding"/> class.
        /// </summary>
        /// <param name="service">The service that is controlled by the binding.</param>
        /// <param name="configuration">The binding configuration.</param>
        /// <exception cref="ArgumentNullException"><paramref name="service"/> is <see langword="null"/>.</exception>
        /// <exception cref="ArgumentNullException"><paramref name="configuration"/> is <see langword="null"/>.</exception>
        public Binding(Type service, IBindingConfiguration configuration)
        {
            Ensure.ArgumentNotNull(service, nameof(service));
            Ensure.ArgumentNotNull(configuration, nameof(configuration));

            this.Service = service;
            this.BindingConfiguration = configuration;
        }
Example #13
0
        /// <summary>
        /// Initializes a new instance of the <see cref="BindingBuilder"/> class.
        /// </summary>
        /// <param name="bindingConfiguration">The binding to build.</param>
        /// <param name="settings">The ninject configuration settings.</param>
        /// <param name="serviceNames">The names of the services.</param>
        public BindingBuilder(IBindingConfiguration bindingConfiguration, INinjectSettings settings, string serviceNames)
        {
            Ensure.ArgumentNotNull(bindingConfiguration, "binding");
            Ensure.ArgumentNotNull(settings, "settings");

            this.BindingConfiguration = bindingConfiguration;
            this.ServiceNames         = serviceNames;
            this.BindingConfiguration.ScopeCallback = settings.DefaultScopeCallback;
        }
Example #14
0
 /// <summary>
 /// Initializes a new instance of the <see cref="BindingBuilder"/> class.
 /// </summary>
 /// <param name="bindingConfiguration">The binding to build.</param>
 /// <param name="kernel">The kernel.</param>
 /// <param name="serviceNames">The names of the services.</param>
 public BindingBuilder(IBindingConfiguration bindingConfiguration, IKernel kernel, string serviceNames)
 {
     Ensure.ArgumentNotNull(bindingConfiguration, "binding");
     Ensure.ArgumentNotNull(kernel, "kernel");
     this.BindingConfiguration = bindingConfiguration;
     this.Kernel       = kernel;
     this.ServiceNames = serviceNames;
     this.BindingConfiguration.ScopeCallback = kernel.Settings.DefaultScopeCallback;
 }
Example #15
0
 protected static Mock<IContext> CreateContextMock(object scope, IBindingConfiguration bindingConfiguration, params Type[] genericArguments)
 {
     var contextMock = new Mock<IContext>();
     var bindingMock = new Mock<IBinding>();
     bindingMock.SetupGet(binding => binding.BindingConfiguration).Returns(bindingConfiguration);
     contextMock.SetupGet(context => context.Binding).Returns(bindingMock.Object);
     contextMock.Setup(context => context.GetScope()).Returns(scope);
     contextMock.SetupGet(context => context.GenericArguments).Returns(genericArguments);
     contextMock.SetupGet(context => context.HasInferredGenericArguments).Returns(genericArguments != null && genericArguments.Length > 0);
     return contextMock;
 }
Example #16
0
 /// <summary>
 /// Initializes a new instance of the <see cref="BindingBuilder{T1, T2, T3, T4}"/> class.
 /// </summary>
 /// <param name="bindingConfiguration">The binding to build.</param>
 /// <param name="planner">The <see cref="IPlanner"/> component.</param>
 /// <param name="constructorScorer">The <see cref="IConstructorScorer"/> component.</param>
 /// <param name="serviceNames">The names of the services.</param>
 /// <exception cref="ArgumentNullException"><paramref name="bindingConfiguration"/> is <see langword="null"/>.</exception>
 /// <exception cref="ArgumentNullException"><paramref name="planner"/> is <see langword="null"/>.</exception>
 /// <exception cref="ArgumentNullException"><paramref name="constructorScorer"/> is <see langword="null"/>.</exception>
 /// <exception cref="ArgumentNullException"><paramref name="serviceNames"/> is <see langword="null"/>.</exception>
 public BindingBuilder(
     IBindingConfiguration bindingConfiguration,
     IPlanner planner,
     IConstructorScorer constructorScorer,
     string serviceNames)
     : base(
         bindingConfiguration,
         planner,
         constructorScorer,
         serviceNames)
 {
 }
Example #17
0
        protected static IContext CreateContext(object scope, IBindingConfiguration bindingConfiguration, params Type[] genericArguments)
        {
            var contextMock = new Mock <IContext>();
            var bindingMock = new Mock <IBinding>();

            bindingMock.SetupGet(binding => binding.BindingConfiguration).Returns(bindingConfiguration);
            contextMock.SetupGet(context => context.Binding).Returns(bindingMock.Object);
            contextMock.Setup(context => context.GetScope()).Returns(scope);
            contextMock.SetupGet(context => context.GenericArguments).Returns(genericArguments);
            contextMock.SetupGet(context => context.HasInferredGenericArguments).Returns(genericArguments != null && genericArguments.Length > 0);
            return(contextMock.Object);
        }
Example #18
0
        private WeakReference Remember(Cache cache, Mock <IContext> contextMock, IBindingConfiguration bindingConfiguration, InstanceReference instanceReference)
        {
            var scope = new object();

            contextMock.InSequence(_mockSequence).Setup(p => p.Binding).Returns(_bindingMock1.Object);
            _bindingMock1.InSequence(_mockSequence).Setup(p => p.BindingConfiguration).Returns(bindingConfiguration);

            cache.Remember(contextMock.Object, scope, instanceReference);

            contextMock.Reset();
            _bindingMock1.Reset();

            return(new WeakReference(scope));
        }
Example #19
0
        /// <summary>
        /// Initializes a new instance of the <see cref="BindingBuilder"/> class.
        /// </summary>
        /// <param name="bindingConfiguration">The binding to build.</param>
        /// <param name="planner">The <see cref="IPlanner"/> component.</param>
        /// <param name="constructorScorer">The <see cref="IConstructorScorer"/> component.</param>
        /// <param name="serviceNames">The names of the services.</param>
        /// <exception cref="ArgumentNullException"><paramref name="bindingConfiguration"/> is <see langword="null"/>.</exception>
        /// <exception cref="ArgumentNullException"><paramref name="planner"/> is <see langword="null"/>.</exception>
        /// <exception cref="ArgumentNullException"><paramref name="constructorScorer"/> is <see langword="null"/>.</exception>
        /// <exception cref="ArgumentNullException"><paramref name="serviceNames"/> is <see langword="null"/>.</exception>
        public BindingBuilder(
            IBindingConfiguration bindingConfiguration,
            IPlanner planner,
            IConstructorScorer constructorScorer,
            string serviceNames)
        {
            Ensure.ArgumentNotNull(bindingConfiguration, nameof(bindingConfiguration));
            Ensure.ArgumentNotNull(planner, nameof(planner));
            Ensure.ArgumentNotNull(constructorScorer, nameof(constructorScorer));
            Ensure.ArgumentNotNull(serviceNames, nameof(serviceNames));

            this.BindingConfiguration = bindingConfiguration;
            this.Planner           = planner;
            this.ConstructorScorer = constructorScorer;
            this.ServiceNames      = serviceNames;
        }
Example #20
0
        //    public static Binding<TKey, TSourceType, TSourceValue, TTargetType, TTargetValue> Bind<TKey, TSourceType, TSourceValue, TTargetType, TTargetValue>(this TSourceType source, NDProperty.Propertys.NDReadOnlyPropertyKey<TKey, TSourceType, TSourceValue> property)
        //where TTargetType : class
        //where TSourceType : class
        //    {
        //        throw new NotImplementedException();

        //    }

        public static Binding <TKey, TSourceType, TSourceValue, TTargetType, TTargetValue> Bind <TKey, TSourceType, TSourceValue, TTargetType, TTargetValue>(this NDBasePropertyKey <TKey, TSourceType, TSourceValue> property, TSourceType source, IBindingConfiguration <TKey, TSourceValue, TTargetType, TTargetValue> configuration)
            where TTargetType : class
            where TSourceType : class
        {
            return(new Binding <TKey, TSourceType, TSourceValue, TTargetType, TTargetValue>(source, property, configuration as IInternalBindingConfiguration <TKey, TSourceValue, TTargetType, TTargetValue>));
        }
Example #21
0
		public void AttachToBinding(IBindingConfiguration binding, Type type)
		{
			binding.ProviderCallback = ctx => new MockProvider(type, MockBehavior);
			binding.ActivationActions.Add((context, obj) => mocks.Add(obj));
			binding.DeactivationActions.Add((context, obj) => mocks.Remove(obj));
		}
Example #22
0
 private static IContext CreateContextMock(object scope, IBindingConfiguration bindingConfiguration, params Type[] genericArguments)
 {
     var bindingMock = new Mock<IBinding>();
     bindingMock.Setup(b => b.BindingConfiguration).Returns(bindingConfiguration);
     return new ContextMock(scope, bindingMock.Object, genericArguments);
 }
#pragma warning disable 1584 //mono compiler bug
        /// <summary>
        ///     Initializes a new instance of the <see cref="BindingBuilder{T1, T2, T3}" /> class.
        /// </summary>
        /// <param name="bindingConfigurationConfiguration">The binding to build.</param>
        /// <param name="kernel">The kernel.</param>
        /// <param name="serviceNames">The names of the services.</param>
        public BindingBuilder(IBindingConfiguration bindingConfigurationConfiguration, IKernel kernel, string serviceNames)
            : base(bindingConfigurationConfiguration, kernel, serviceNames)
        {
        }
Example #24
0
 /// <summary>
 ///     Sets the api binging properties for requests made by this client instance
 /// </summary>
 /// <param name="bindingConfiguration"></param>
 protected RestClient(IBindingConfiguration bindingConfiguration)
 {
     BindingConfiguration = bindingConfiguration;
 }
Example #25
0
 public Binding(Type service, IBindingConfiguration configuration)
 {
     Service       = service;
     Configuration = configuration;
 }
Example #26
0
 /// <summary>
 /// Initializes a new instance of the <see cref="Binding"/> class.
 /// </summary>
 /// <param name="service">The service that is controlled by the binding.</param>
 /// <param name="configuration">The binding configuration.</param>
 public Binding(Type service, IBindingConfiguration configuration)
 {
     this.Service = service;
     this.BindingConfiguration = configuration;
 }
Example #27
0
        private WeakReference RememberDisposableScope(Cache cache, Mock <IContext> contextMock, IBindingConfiguration bindingConfiguration, InstanceReference instanceReference)
        {
            var disposableScope = new DisposableScope();

            cache.Remember(contextMock.Object, disposableScope, instanceReference);

            return(new WeakReference(disposableScope));
        }
Example #28
0
 /// <summary>
 /// Initializes a new instance of the <see cref="BindingBuilder"/> class.
 /// </summary>
 /// <param name="bindingConfiguration">The binding to build.</param>
 /// <param name="settings">The ninject configuration settings.</param>
 /// <param name="serviceNames">The names of the services.</param>
 public BindingBuilder(IBindingConfiguration bindingConfiguration, INinjectSettings settings, string serviceNames)
 {
     this.BindingConfiguration = bindingConfiguration;
     this.ServiceNames         = serviceNames;
     this.BindingConfiguration.ScopeCallback = settings.DefaultScopeCallback;
 }
 public void AttachToBinding(IBindingConfiguration binding, Type type)
 {
     binding.ProviderCallback = ctx => new MockProvider(type, MockBehavior);
     binding.ActivationActions.Add((context, obj) => mocks.Add(obj));
     binding.DeactivationActions.Add((context, obj) => mocks.Remove(obj));
 }
 public BindingConfigurationBuilder(
     IBindingConfiguration bindingConfiguration)
 {
     this._bindingConfiguration = bindingConfiguration;
 }
Example #31
0
 public BindingBuilder(IBindingConfiguration bindingConfiguration) : base(bindingConfiguration)
 {
 }
Example #32
0
 /// <summary>
 /// Initializes a new instance of the <see cref="Binding"/> class.
 /// </summary>
 /// <param name="service">The service that is controlled by the binding.</param>
 /// <param name="configuration">The binding configuration.</param>
 public Binding(Type service, IBindingConfiguration configuration)
 {
     this.Service = service;
     this.BindingConfiguration = configuration;
 }
Example #33
0
 /// <summary>
 /// Assigns the provider callback to the building configuration.
 /// </summary>
 /// <param name="bindingConfiguration">
 /// The building configuration.
 /// </param>
 /// <param name="prototype">
 /// The prototype.
 /// </param>
 public static void AssignProviderCallback(IBindingConfiguration bindingConfiguration, Type prototype)
 {
     var provider = new StandardProvider(prototype, null);
     bindingConfiguration.ProviderCallback = ctx => provider;
     bindingConfiguration.InitializeProviderCallback =
         selector => provider.ConstructorScorer = selector.ConstructorScorer;
 }
Example #34
0
        private void Remember(Cache cache, Mock <IContext> contextMock, object scope, IBindingConfiguration bindingConfiguration, InstanceReference instanceReference)
        {
            contextMock.InSequence(_mockSequence).Setup(p => p.Binding).Returns(_bindingMock1.Object);
            _bindingMock1.InSequence(_mockSequence).Setup(p => p.BindingConfiguration).Returns(bindingConfiguration);

            cache.Remember(contextMock.Object, scope, instanceReference);

            contextMock.Reset();
            _bindingMock1.Reset();
        }
Example #35
0
 protected BindingBuilderBase(IBindingConfiguration bindingConfiguration)
 {
     m_configuration = bindingConfiguration;
 }
Example #36
0
#pragma warning disable 1584 //mono compiler bug
        /// <summary>
        /// Initializes a new instance of the <see cref="BindingBuilder{T1, T2}"/> class.
        /// </summary>
        /// <param name="bindingConfigurationConfiguration">The binding to build.</param>
        /// <param name="settings">The ninject configuration settings.</param>
        /// <param name="serviceNames">The names of the services.</param>
        public BindingBuilder(IBindingConfiguration bindingConfigurationConfiguration, INinjectSettings settings, string serviceNames)
            : base(bindingConfigurationConfiguration, settings, serviceNames)
        {
        }
Example #37
0
 /// <summary>
 /// Initializes a new instance of the BindingBuilder&lt;T&gt; class.
 /// </summary>
 /// <param name="bindingConfiguration">The binding configuration to build.</param>
 /// <param name="serviceNames">The names of the configured services.</param>
 public BindingConfigurationBuilder(IBindingConfiguration bindingConfiguration, string serviceNames)
 {
     this.BindingConfiguration = bindingConfiguration;
     this.serviceNames         = serviceNames;
 }