Пример #1
0
        public async Task <bool> TryUpdateModelAsync <TModel>(
            [NotNull] TModel model,
            string prefix,
            [NotNull] IValueProvider valueProvider,
            [NotNull] Func <ModelBindingContext, string, bool> predicate)
            where TModel : class
        {
            if (BindingContextProvider == null)
            {
                var message = Resources.FormatPropertyOfTypeCannotBeNull(nameof(BindingContextProvider),
                                                                         GetType().FullName);
                throw new InvalidOperationException(message);
            }

            var bindingContext = await BindingContextProvider.GetActionBindingContextAsync(ActionContext);

            return(await ModelBindingHelper.TryUpdateModelAsync(model,
                                                                prefix,
                                                                ActionContext.HttpContext,
                                                                ModelState,
                                                                bindingContext.MetadataProvider,
                                                                bindingContext.ModelBinder,
                                                                valueProvider,
                                                                bindingContext.ValidatorProvider,
                                                                predicate));
        }
Пример #2
0
        public virtual async Task <bool> TryUpdateModelAsync <TModel>([NotNull] TModel model,
                                                                      [NotNull] string prefix)
            where TModel : class
        {
            if (BindingContextProvider == null)
            {
                var message = Resources.FormatPropertyOfTypeCannotBeNull("BindingContextProvider", GetType().FullName);
                throw new InvalidOperationException(message);
            }

            var bindingContext = await BindingContextProvider.GetActionBindingContextAsync(ActionContext);

            return(await TryUpdateModelAsync(model, prefix, bindingContext.ValueProvider));
        }