Exemple #1
0
        public async Task BindModelAsync(ModelBindingContext bindingContext)
        {
            var valueProvider = new EncryptedPropertyDataValueProvider(bindingContext.ValueProvider, bindingContext.HttpContext.Resolve <IEncryptionService>());

            using (bindingContext.HttpContext.Resolve <IProfiler>()
                   .RecordStep($"{nameof(ModelBinderBase)}.{nameof(BindModelAsync)}"))
            {
                Logger.Trace(() => nameof(BindModelAsync));
                await _Execute(bindingContext, valueProvider);
            }
        }
Exemple #2
0
        protected async Task <ModelBindingResult> _BindModel(ModelBindingContext bindingContext, Type modelType,
                                                             EncryptedPropertyDataValueProvider valueProvider, IModelBinder innerBinder)
        {
            var innerModelBindingContext = DefaultModelBindingContext.CreateBindingContext(
                bindingContext.ActionContext,
                valueProvider,
                bindingContext.HttpContext.Resolve <IModelMetadataProvider>().GetMetadataForType(modelType),
                null,
                bindingContext.ModelName);

            await innerBinder.BindModelAsync(innerModelBindingContext);

            var modelBindingResult = innerModelBindingContext.Result;

            if (modelBindingResult == ModelBindingResult.Failed())
            {
                Logger.Error(() => $"ModelBinder of {bindingContext.ModelName} failed");
            }

            return(modelBindingResult);
        }
Exemple #3
0
 protected abstract Task _Execute(ModelBindingContext bindingContext,
                                  EncryptedPropertyDataValueProvider valueProvider);