Exemple #1
0
        private ParameterBinder(
            IModelMetadataProvider modelMetadataProvider,
            IModelBinderFactory modelBinderFactory,
            IModelValidatorProvider validatorProvider,
            IObjectModelValidator validatorForBackCompatOnly,
            ILoggerFactory loggerFactory)
        {
            if (modelMetadataProvider == null)
            {
                throw new ArgumentNullException(nameof(modelMetadataProvider));
            }

            if (modelBinderFactory == null)
            {
                throw new ArgumentNullException(nameof(modelBinderFactory));
            }

            if (loggerFactory == null)
            {
                throw new ArgumentNullException(nameof(loggerFactory));
            }

            _modelMetadataProvider      = modelMetadataProvider;
            _modelBinderFactory         = modelBinderFactory;
            _validatorProvider          = validatorProvider;
            _validatorForBackCompatOnly = validatorForBackCompatOnly;
            _validatorCache             = new ValidatorCache();
            Logger = loggerFactory.CreateLogger(GetType());
        }
Exemple #2
0
        private static BindingInfo[] GetPropertyBindingInfo(
            IModelBinderFactory modelBinderFactory,
            IModelMetadataProvider modelMetadataProvider,
            ControllerActionDescriptor actionDescriptor)
        {
            var properties = actionDescriptor.BoundProperties;

            if (properties.Count == 0)
            {
                return(null);
            }

            var propertyBindingInfo = new BindingInfo[properties.Count];
            var controllerType      = actionDescriptor.ControllerTypeInfo.AsType();

            for (var i = 0; i < properties.Count; i++)
            {
                var property = properties[i];
                var metadata = modelMetadataProvider.GetMetadataForProperty(controllerType, property.Name);
                var binder   = modelBinderFactory.CreateBinder(new ModelBinderFactoryContext
                {
                    BindingInfo = property.BindingInfo,
                    Metadata    = metadata,
                    CacheToken  = property,
                });

                propertyBindingInfo[i] = new BindingInfo(binder, metadata);
            }

            return(propertyBindingInfo);
        }
Exemple #3
0
        private BinderItem[] GetParameterBindingInfo(IModelBinderFactory modelBinderFactory)
        {
            if (Parameters.Count == 0)
            {
                return(null);
            }

            var parameterBindingInfo = new BinderItem[Parameters.Count];

            for (var i = 0; i < Parameters.Count; i++)
            {
                var parameter = Parameters[i];
                var metadata  = new ModelMetadata(parameter);

                var binder = modelBinderFactory.CreateBinder(new ModelBinderFactoryContext
                {
                    BindingInfo = parameter.BindingInfo,
                    Metadata    = metadata,
                    CacheToken  = parameter
                });

                parameterBindingInfo[i] = new BinderItem(binder, metadata);
            }

            return(parameterBindingInfo);
        }
Exemple #4
0
        private static BindingInfo[] GetParameterBindingInfo(
            IModelBinderFactory modelBinderFactory,
            IModelMetadataProvider modelMetadataProvider,
            ControllerActionDescriptor actionDescriptor)
        {
            var parameters = actionDescriptor.Parameters;

            if (parameters.Count == 0)
            {
                return(null);
            }

            var parameterBindingInfo = new BindingInfo[parameters.Count];

            for (var i = 0; i < parameters.Count; i++)
            {
                var parameter = parameters[i];
                var metadata  = modelMetadataProvider.GetMetadataForType(parameter.ParameterType);
                var binder    = modelBinderFactory.CreateBinder(new ModelBinderFactoryContext
                {
                    BindingInfo = parameter.BindingInfo,
                    Metadata    = metadata,
                    CacheToken  = parameter,
                });

                parameterBindingInfo[i] = new BindingInfo(binder, metadata);
            }

            return(parameterBindingInfo);
        }
Exemple #5
0
 /// <summary>
 /// Creates a new <see cref="FinerGrainedActionSelector"/>, which
 /// overrides <see cref="Microsoft.AspNetCore.Mvc.Internal.ActionSelector.SelectBestActions" />.
 /// </summary>
 /// <param name="actionDescriptorCollectionProvider">
 /// The <see cref="T:Microsoft.AspNetCore.Mvc.Infrastructure.IActionDescriptorCollectionProvider" />.
 /// </param>
 /// <param name="actionConstraintCache">The <see cref="T:Microsoft.AspNetCore.Mvc.Internal.ActionConstraintCache" /> that
 /// providers a set of <see cref="T:Microsoft.AspNetCore.Mvc.ActionConstraints.IActionConstraint" /> instances.</param>
 /// <param name="mvcOptions"></param>
 /// <param name="loggerFactory">The <see cref="T:Microsoft.Extensions.Logging.ILoggerFactory" />.</param>
 /// <param name="parameterBinder"></param>
 /// <param name="modelBinderFactory"></param>
 /// <param name="modelMetadataProvider"></param>
 /// <remarks>The constructor parameters are passed up to the base constructor</remarks>
 public FinerGrainedActionSelector(
     IActionDescriptorCollectionProvider actionDescriptorCollectionProvider,
     ActionConstraintCache actionConstraintCache,
     ParameterBinder parameterBinder,
     IModelBinderFactory modelBinderFactory,
     IModelMetadataProvider modelMetadataProvider,
     IOptions <MvcOptions> mvcOptions,
     ILoggerFactory loggerFactory)
 {
     if (parameterBinder == null)
     {
         throw new ArgumentNullException(nameof(parameterBinder));
     }
     if (modelBinderFactory == null)
     {
         throw new ArgumentNullException(nameof(modelBinderFactory));
     }
     if (modelMetadataProvider == null)
     {
         throw new ArgumentNullException(nameof(modelMetadataProvider));
     }
     if (mvcOptions == null)
     {
         throw new ArgumentNullException(nameof(mvcOptions));
     }
     this.actionDescriptorCollectionProvider = actionDescriptorCollectionProvider;
     this.actionConstraintCache = actionConstraintCache;
     logger = loggerFactory.CreateLogger <FinerGrainedActionSelector>();
     actionDisambiguator =
         new ActionDisambiguatorForOverloadedMethods(modelBinderFactory, modelMetadataProvider, mvcOptions.Value, parameterBinder);
 }
 public DataSourceModelBinder(
     IDataSourceFactory dataSourceFactory,
     IModelBinderFactory modelBinderFactory)
 {
     this.dataSourceFactory  = dataSourceFactory;
     this.modelBinderFactory = modelBinderFactory;
 }
Exemple #7
0
 public BehaviorsModelBinder(
     IBehaviorsFactory behaviorsFactory,
     IModelBinderFactory modelBinderFactory)
 {
     this.behaviorsFactory   = behaviorsFactory;
     this.modelBinderFactory = modelBinderFactory;
 }
Exemple #8
0
        private static BinderItem[] GetParameterBindingInfo(
            IModelBinderFactory modelBinderFactory,
            IModelMetadataProvider modelMetadataProvider,
            ControllerActionDescriptor actionDescriptor,
            MvcOptions mvcOptions)
        {
            var parameters = actionDescriptor.Parameters;

            if (parameters.Count == 0)
            {
                return(null);
            }

            var parameterBindingInfo = new BinderItem[parameters.Count];

            for (var i = 0; i < parameters.Count; i++)
            {
                var parameter = parameters[i];

                ModelMetadata metadata;
                if (mvcOptions.AllowValidatingTopLevelNodes &&
                    modelMetadataProvider is ModelMetadataProvider modelMetadataProviderBase &&
                    parameter is ControllerParameterDescriptor controllerParameterDescriptor)
                {
                    // The default model metadata provider derives from ModelMetadataProvider
                    // and can therefore supply information about attributes applied to parameters.
                    metadata = modelMetadataProviderBase.GetMetadataForParameter(controllerParameterDescriptor.ParameterInfo);
                }
Exemple #9
0
        /// <summary>
        /// Updates the specified <paramref name="model"/> instance using the specified <paramref name="modelBinderFactory"/>
        /// and the specified <paramref name="valueProvider"/> and executes validation using the specified
        /// <paramref name="objectModelValidator"/>.
        /// </summary>
        /// <typeparam name="TModel">The type of the model object.</typeparam>
        /// <param name="model">The model instance to update and validate.</param>
        /// <param name="prefix">The prefix to use when looking up values in the <paramref name="valueProvider"/>.
        /// </param>
        /// <param name="actionContext">The <see cref="ActionContext"/> for the current executing request.</param>
        /// <param name="metadataProvider">The provider used for reading metadata for the model type.</param>
        /// <param name="modelBinderFactory">The <see cref="IModelBinderFactory"/> used for binding.</param>
        /// <param name="valueProvider">The <see cref="IValueProvider"/> used for looking up values.</param>
        /// <param name="objectModelValidator">The <see cref="IObjectModelValidator"/> used for validating the
        /// bound values.</param>
        /// <param name="includeExpressions">Expression(s) which represent top level properties
        /// which need to be included for the current model.</param>
        /// <returns>A <see cref="Task"/> that on completion returns <c>true</c> if the update is successful</returns>
        public static Task <bool> TryUpdateModelAsync <TModel>(
            TModel model,
            string prefix,
            ActionContext actionContext,
            IModelMetadataProvider metadataProvider,
            IModelBinderFactory modelBinderFactory,
            IValueProvider valueProvider,
            IObjectModelValidator objectModelValidator,
            params Expression <Func <TModel, object> >[] includeExpressions)
            where TModel : class
        {
            if (includeExpressions == null)
            {
                throw new ArgumentNullException(nameof(includeExpressions));
            }

            var expression     = GetPropertyFilterExpression(includeExpressions);
            var propertyFilter = expression.Compile();

            return(TryUpdateModelAsync(
                       model,
                       prefix,
                       actionContext,
                       metadataProvider,
                       modelBinderFactory,
                       valueProvider,
                       objectModelValidator,
                       propertyFilter));
        }
Exemple #10
0
        /// <summary>
        /// Initializes a new instance of <see cref="ParameterBinder"/>.
        /// </summary>
        /// <param name="modelMetadataProvider">The <see cref="IModelMetadataProvider"/>.</param>
        /// <param name="modelBinderFactory">The <see cref="IModelBinderFactory"/>.</param>
        /// <param name="validator">The <see cref="IObjectModelValidator"/>.</param>
        /// <param name="loggerFactory">The <see cref="ILoggerFactory"/>.</param>
        public ParameterBinder(
            IModelMetadataProvider modelMetadataProvider,
            IModelBinderFactory modelBinderFactory,
            IObjectModelValidator validator,
            ILoggerFactory loggerFactory)
        {
            if (modelMetadataProvider == null)
            {
                throw new ArgumentNullException(nameof(modelMetadataProvider));
            }

            if (modelBinderFactory == null)
            {
                throw new ArgumentNullException(nameof(modelBinderFactory));
            }

            if (validator == null)
            {
                throw new ArgumentNullException(nameof(validator));
            }

            if (loggerFactory == null)
            {
                throw new ArgumentNullException(nameof(loggerFactory));
            }

            _modelMetadataProvider = modelMetadataProvider;
            _modelBinderFactory    = modelBinderFactory;
            _objectModelValidator  = validator;
            Logger = loggerFactory.CreateLogger(GetType());
        }
Exemple #11
0
 public ParameterBinder(
     IModelMetadataProvider modelMetadataProvider,
     IModelBinderFactory modelBinderFactory,
     IObjectModelValidator validator)
     : this(modelMetadataProvider, modelBinderFactory, validator, NullLoggerFactory.Instance)
 {
 }
 public PageActionInvokerProvider(
     IPageLoader loader,
     IPageFactoryProvider pageFactoryProvider,
     IPageModelFactoryProvider modelFactoryProvider,
     IRazorPageFactoryProvider razorPageFactoryProvider,
     IActionDescriptorCollectionProvider collectionProvider,
     IEnumerable <IFilterProvider> filterProviders,
     ParameterBinder parameterBinder,
     IModelMetadataProvider modelMetadataProvider,
     IModelBinderFactory modelBinderFactory,
     ITempDataDictionaryFactory tempDataFactory,
     IOptions <MvcOptions> mvcOptions,
     IOptions <HtmlHelperOptions> htmlHelperOptions,
     IPageHandlerMethodSelector selector,
     RazorProject razorProject,
     DiagnosticSource diagnosticSource,
     ILoggerFactory loggerFactory)
 {
     _loader = loader;
     _pageFactoryProvider      = pageFactoryProvider;
     _modelFactoryProvider     = modelFactoryProvider;
     _modelBinderFactory       = modelBinderFactory;
     _razorPageFactoryProvider = razorPageFactoryProvider;
     _collectionProvider       = collectionProvider;
     _filterProviders          = filterProviders.ToArray();
     _valueProviderFactories   = mvcOptions.Value.ValueProviderFactories.ToArray();
     _parameterBinder          = parameterBinder;
     _modelMetadataProvider    = modelMetadataProvider;
     _tempDataFactory          = tempDataFactory;
     _htmlHelperOptions        = htmlHelperOptions.Value;
     _selector         = selector;
     _razorProject     = razorProject;
     _diagnosticSource = diagnosticSource;
     _logger           = loggerFactory.CreateLogger <PageActionInvoker>();
 }
 public BodyAndOtherSourcesModelBinder(ILoggerFactory loggerFactory, IOptions <MvcOptions> options, IModelBinderFactory modelBinderFactory, IModelMetadataProvider modelMetadataProvider, ICompositeMetadataDetailsProvider detailsProvider)
 {
     _logger                      = loggerFactory.CreateLogger <BodyOrOtherSourcesModelBinder>();
     _modelBinderFactory          = modelBinderFactory;
     _modelMetadataProvider       = modelMetadataProvider;
     _modelBindingMessageProvider = options.Value.ModelBindingMessageProvider;
     _detailsProvider             = detailsProvider;
 }
 public ModelService(IDatabaseProviderFactory databaseProviderFactory, IModelBinderFactory modelBinderFactory)
 {
     trackDao = new TrackDao(databaseProviderFactory, modelBinderFactory);
     fingerprintDao = new FingerprintDao(databaseProviderFactory, modelBinderFactory);
     hashBinMinHashDao = new HashBinMinHashDao(databaseProviderFactory, modelBinderFactory);
     subFingerprintDao = new SubFingerprintDao(databaseProviderFactory, modelBinderFactory);
     permutationsDao = new PermutationsDao(databaseProviderFactory, modelBinderFactory);
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="ODataActionSelector" /> class.
 /// </summary>
 /// <param name="innerSelector">The inner action selector.</param>
 /// <param name="modelBinderFactory">IModelBinderFactory instance from dependency injection</param>
 /// <param name="modelMetadataProvider">IModelMetadataProvider instance from dependency injection</param>
 public ODataActionSelector(
     IActionSelector innerSelector,
     IModelBinderFactory modelBinderFactory,
     IModelMetadataProvider modelMetadataProvider)
 {
     _innerSelector         = innerSelector;
     _modelBinderFactory    = modelBinderFactory;
     _modelMetadataProvider = modelMetadataProvider;
 }
 public ConsumerInvokerFactory(
     ILoggerFactory loggerFactory,
     IModelBinderFactory modelBinderFactory,
     IServiceProvider serviceProvider)
 {
     _logger             = loggerFactory.CreateLogger <ConsumerInvokerFactory>();
     _modelBinderFactory = modelBinderFactory;
     _serviceProvider    = serviceProvider;
 }
 public DefaultControllerArgumentBinder(
     IModelMetadataProvider modelMetadataProvider,
     IModelBinderFactory modelBinderFactory,
     IObjectModelValidator validator)
 {
     _modelMetadataProvider = modelMetadataProvider;
     _modelBinderFactory    = modelBinderFactory;
     _validator             = validator;
 }
Exemple #18
0
        /// <summary>
        /// Updates the specified <paramref name="model"/> instance using the specified
        /// <paramref name="modelBinderFactory"/> and the specified <paramref name="valueProvider"/> and executes
        /// validation using the specified <paramref name="objectModelValidator"/>.
        /// </summary>
        /// <typeparam name="TModel">The type of the model object.</typeparam>
        /// <param name="model">The model instance to update and validate.</param>
        /// <param name="prefix">The prefix to use when looking up values in the <paramref name="valueProvider"/>.
        /// </param>
        /// <param name="actionContext">The <see cref="ActionContext"/> for the current executing request.</param>
        /// <param name="metadataProvider">The provider used for reading metadata for the model type.</param>
        /// <param name="modelBinderFactory">The <see cref="IModelBinderFactory"/> used for binding.</param>
        /// <param name="valueProvider">The <see cref="IValueProvider"/> used for looking up values.</param>
        /// <param name="objectModelValidator">The <see cref="IObjectModelValidator"/> used for validating the
        /// bound values.</param>
        /// <returns>A <see cref="Task"/> that on completion returns <c>true</c> if the update is successful</returns>
        public static Task <bool> TryUpdateModelAsync <TModel>(
            TModel model,
            string prefix,
            ActionContext actionContext,
            IModelMetadataProvider metadataProvider,
            IModelBinderFactory modelBinderFactory,
            IValueProvider valueProvider,
            IObjectModelValidator objectModelValidator)
            where TModel : class
        {
            if (model == null)
            {
                throw new ArgumentNullException(nameof(model));
            }

            if (prefix == null)
            {
                throw new ArgumentNullException(nameof(prefix));
            }

            if (actionContext == null)
            {
                throw new ArgumentNullException(nameof(actionContext));
            }

            if (metadataProvider == null)
            {
                throw new ArgumentNullException(nameof(metadataProvider));
            }

            if (modelBinderFactory == null)
            {
                throw new ArgumentNullException(nameof(modelBinderFactory));
            }

            if (valueProvider == null)
            {
                throw new ArgumentNullException(nameof(valueProvider));
            }

            if (objectModelValidator == null)
            {
                throw new ArgumentNullException(nameof(objectModelValidator));
            }

            // Includes everything by default.
            return(TryUpdateModelAsync(
                       model,
                       prefix,
                       actionContext,
                       metadataProvider,
                       modelBinderFactory,
                       valueProvider,
                       objectModelValidator,
                       propertyFilter: (m) => true));
        }
 public DefaultConsumerInvoker(ILoggerFactory loggerFactory,
                               IServiceProvider serviceProvider,
                               IMessagePacker messagePacker,
                               IModelBinderFactory modelBinderFactory)
 {
     _modelBinderFactory = modelBinderFactory;
     _serviceProvider    = serviceProvider;
     _messagePacker      = messagePacker;
     _logger             = loggerFactory.CreateLogger <DefaultConsumerInvoker>();
 }
Exemple #20
0
 public BodyOrOtherSourcesModelBinder(IHttpRequestStreamReaderFactory readerFactory, ILoggerFactory loggerFactory, IOptions <MvcOptions> options, IModelBinderFactory modelBinderFactory, IModelMetadataProvider modelMetadataProvider, ICompositeMetadataDetailsProvider detailsProvider)
     : base(options.Value.InputFormatters, readerFactory, loggerFactory, options.Value)
 {
     _logger                      = loggerFactory.CreateLogger <BodyOrOtherSourcesModelBinder>();
     _modelBinderFactory          = modelBinderFactory;
     _providers                   = options.Value.ModelBinderProviders.ToArray();
     _modelMetadataProvider       = modelMetadataProvider;
     _modelBindingMessageProvider = options.Value.ModelBindingMessageProvider;
     _detailsProvider             = detailsProvider;
 }
 public MyControllerActionInvokerCache(
     IActionDescriptorCollectionProvider collectionProvider,
     ParameterBinder parameterBinder,
     IModelBinderFactory modelBinderFactory,
     IModelMetadataProvider modelMetadataProvider,
     IEnumerable <IFilterProvider> filterProviders,
     IControllerFactoryProvider factoryProvider,
     IOptions <MvcOptions> mvcOptions) : base(collectionProvider, parameterBinder, modelBinderFactory, modelMetadataProvider, filterProviders, factoryProvider, mvcOptions)
 {
 }
 public ConsumerInvokerFactory(
     ILoggerFactory loggerFactory,
     IMessagePacker messagePacker,
     IModelBinderFactory modelBinderFactory,
     IServiceProvider serviceProvider)
 {
     _loggerFactory      = loggerFactory;
     _messagePacker      = messagePacker;
     _modelBinderFactory = modelBinderFactory;
     _serviceProvider    = serviceProvider;
 }
Exemple #23
0
 /// <summary>
 /// Initializes a new instance of <see cref="ParameterBinder"/>.
 /// </summary>
 /// <param name="modelMetadataProvider">The <see cref="IModelMetadataProvider"/>.</param>
 /// <param name="modelBinderFactory">The <see cref="IModelBinderFactory"/>.</param>
 /// <param name="validatorProvider">The <see cref="IModelValidatorProvider"/>.</param>
 public ParameterBinder(
     IModelMetadataProvider modelMetadataProvider,
     IModelBinderFactory modelBinderFactory,
     IModelValidatorProvider validatorProvider)
     : this(modelMetadataProvider, modelBinderFactory, validatorProvider, null)
 {
     if (validatorProvider == null)
     {
         throw new ArgumentNullException(nameof(validatorProvider));
     }
 }
Exemple #24
0
        public MvcValueProvider(ActionContext actionContext)
            : base(actionContext.HttpContext)
        {
            ActionContext          = actionContext;
            _Values                = new Dictionary <string, object>();
            _ModelBinderFactory    = actionContext.HttpContext.RequestServices.GetRequiredService <IModelBinderFactory>();
            _ModelMetadataProvider = actionContext.HttpContext.RequestServices.GetRequiredService <IModelMetadataProvider>();

            ValueSelectors.Insert(0, new HttpRouteValueValueSelector(HttpContext));
            ValueSelectors.Add(new HttpRouteDataTokenValueSelector(HttpContext));
        }
Exemple #25
0
 public ParameterBinder(
     IModelMetadataProvider modelMetadataProvider,
     IModelBinderFactory modelBinderFactory,
     IModelValidatorProvider validatorProvider)
     : this(
         modelMetadataProvider,
         modelBinderFactory,
         validatorProvider,
         validatorForBackCompatOnly : null,
         loggerFactory : NullLoggerFactory.Instance)
 {
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="ODataActionSelector" /> class.
 /// </summary>
 /// <param name="actionDescriptorCollectionProvider">IActionDescriptorCollectionProvider instance from dependency injection.</param>
 /// <param name="actionConstraintProviders">ActionConstraintCache instance from dependency injection.</param>
 /// <param name="loggerFactory">ILoggerFactory instance from dependency injection.</param>
 /// <param name="modelBinderFactory">IModelBinderFactory instance from dependency injection</param>
 /// <param name="modelMetadataProvider">IModelMetadataProvider instance from dependency injection</param>
 public ODataActionSelector(
     IActionDescriptorCollectionProvider actionDescriptorCollectionProvider,
     ActionConstraintCache actionConstraintProviders,
     ILoggerFactory loggerFactory,
     IModelBinderFactory modelBinderFactory,
     IModelMetadataProvider modelMetadataProvider
     )
 {
     _innerSelector         = new ActionSelector(actionDescriptorCollectionProvider, actionConstraintProviders, loggerFactory);
     _modelBinderFactory    = modelBinderFactory;
     _modelMetadataProvider = modelMetadataProvider;
 }
Exemple #27
0
 public ParameterBinder(
     IModelMetadataProvider modelMetadataProvider,
     IModelBinderFactory modelBinderFactory,
     IObjectModelValidator validator)
     : this(
         modelMetadataProvider,
         modelBinderFactory,
         validator,
         Options.Create(new MvcOptions()),
         NullLoggerFactory.Instance)
 {
 }
 public ActionDisambiguatorForOverloadedMethods(
     IModelBinderFactory modelBinderFactory,
     IModelMetadataProvider modelMetadataProvider,
     MvcOptions mvcOptions,
     ParameterBinder parameterBinder,
     ScoreSignature scoreDelegate = null)
 {
     this.modelBinderFactory    = modelBinderFactory;
     this.modelMetadataProvider = modelMetadataProvider;
     this.mvcOptions            = mvcOptions;
     this.parameterBinder       = parameterBinder;
     this.scoreDelegate         = scoreDelegate ?? Score;
 }
Exemple #29
0
        public DefaultConsumerInvoker(ILogger logger,
                                      IServiceProvider serviceProvider,
                                      IModelBinderFactory modelBinderFactory,
                                      ConsumerContext consumerContext)
        {
            _modelBinderFactory = modelBinderFactory;
            _serviceProvider    = serviceProvider;
            _logger             = logger;
            _consumerContext    = consumerContext;

            _executor = ObjectMethodExecutor.Create(_consumerContext.ConsumerDescriptor.MethodInfo,
                                                    _consumerContext.ConsumerDescriptor.ImplTypeInfo);
        }
        public DefaultConsumerInvoker(ILogger logger,
                                      IServiceProvider serviceProvider,
                                      IModelBinderFactory modelBinderFactory,
                                      ConsumerContext consumerContext)
        {
            _modelBinderFactory = modelBinderFactory;
            _serviceProvider    = serviceProvider;
            _logger             = logger ?? throw new ArgumentNullException(nameof(logger));

            _consumerContext = consumerContext ?? throw new ArgumentNullException(nameof(consumerContext));
            _executor        = ObjectMethodExecutor.Create(_consumerContext.ConsumerDescriptor.MethodInfo,
                                                           _consumerContext.ConsumerDescriptor.ImplTypeInfo);
        }
        private static void TestCreateSimpleSection(IModelBinderFactory binderFactory)
        {
            var binder = binderFactory.Create(typeof (SimpleSection));

            const string stringValue = "string value";
            const int intValue = 1;

            var instance = new SimpleSection();

            binder.Bind(instance, new Dictionary<string, object> { { "StrProp", stringValue }, { "IntProp", intValue } });

            Assert.AreEqual(intValue, instance.IntProp);
            Assert.AreEqual(stringValue, instance.StrProp);
        }
Exemple #32
0
        public SanitationModelBinderFactory(IModelMetadataProvider metadataProvider,
                                            IOptions <MvcOptions> options,
                                            IServiceProvider serviceProvider)
        {
            var me = options.Value.ModelBinderProviders
                     .FirstOrDefault(t => t.GetType() == typeof(SanitationModelBinderProvider));

            if (me is not null)
            {
                options.Value.ModelBinderProviders.Remove(me);
            }

            _factory = new ModelBinderFactory(metadataProvider, options, serviceProvider);
        }
 protected AbstractDao(IDatabaseProviderFactory databaseProvider, IModelBinderFactory modelBinderFactory)
 {
     this.databaseProvider = databaseProvider;
     this.modelBinderFactory = modelBinderFactory;
 }
 public PermutationsDao(IDatabaseProviderFactory databaseProvider, IModelBinderFactory modelBinderFactory)
     : base(databaseProvider, modelBinderFactory)
 {
 }
 public SubFingerprintDao(IDatabaseProviderFactory databaseProvider, IModelBinderFactory modelBinderFactory)
     : base(databaseProvider, modelBinderFactory)
 {
 }
 public TrackDao(IDatabaseProviderFactory databaseProvider, IModelBinderFactory modelBinderFactory)
     : base(databaseProvider, modelBinderFactory)
 {
 }
 public HashBinDao(IDatabaseProviderFactory databaseProvider, IModelBinderFactory modelBinderFactory)
     : base(databaseProvider, modelBinderFactory)
 {
     // no op
 }