Пример #1
0
        public async global::System.Threading.Tasks.Task BindModelAsync(global::Microsoft.AspNetCore.Mvc.ModelBinding.ModelBindingContext bindingContext)
        {
            var  value       = bindingContext.ValueProvider.GetValue(bindingContext.ModelName);
            var  actualValue = value.FirstValue;
            Guid modelBindingResult;

            using (bindingContext.EnterNestedScope(_metadataForType, "Value", bindingContext.ModelName, actualValue))
            {
                var newBindingContext = global::Microsoft.AspNetCore.Mvc.ModelBinding.DefaultModelBindingContext.CreateBindingContext(
                    bindingContext.ActionContext,
                    bindingContext.ValueProvider,
                    _metadataForType,
                    null,
                    bindingContext.ModelName);
                await _specificBinder.BindModelAsync(newBindingContext).ConfigureAwait(false);

                modelBindingResult = (Guid)newBindingContext.Result.Model;
            }

            var modelInstance = new ManualGuidSemanticType(modelBindingResult);

            bindingContext.Result = global::Microsoft.AspNetCore.Mvc.ModelBinding.ModelBindingResult.Success(modelInstance);
        }
 public Guid GetGuidManual(ManualGuidSemanticType id)
 {
     return(id.Value);
 }