public override Task <BindResult> BindModel(ModelBindingContext bindingContext)
 => Task.FromResult(
     BindResult.Create(
         GetValue(bindingContext)
         .Match(
             s => GetData().WithValue(s.Match(_ => _, () => (int?)null)),
             () => GetData().WithErrors(new[] { MappingError.Create("Not an Int", typeof(string), typeof(int)) })
             )
         )
     );
 public override Task <BindResult> BindModel(ModelBindingContext bindingContext)
 => Task.FromResult(
     BindResult.Create(
         GetValue(bindingContext)
         .Match(
             s => s.Match(i => GetData().WithUncheckedValue(i), () => GetData().WithNull()),
             () => GetData().WithErrors(new[] { MappingError.Create("Not an Int", typeof(string), typeof(int)) })
             )
         )
     );
示例#3
0
 private Result <Guid, ValidationError[]> GetGuidValue(ModelBindingContext bindingContext)
 => Guid.TryParse(GetValue(bindingContext), out var guid)
                                     ? Result.Success <Guid, ValidationError[]>(guid)
                                     : Result.Failure <Guid, ValidationError[]>(new[] { MappingError.Create("Error mapping input to Guid.", typeof(string), typeof(Guid)) });
示例#4
0
 private Result <Option <Guid>, ValidationError[]> GetOptionGuidValue(ModelBindingContext bindingContext)
 => GetValue(bindingContext).Match(
     some: value =>
     Guid.TryParse(value, out var guid)
                                                     ? Result.Success <Option <Guid>, ValidationError[]>(Option.Some(guid))
                                                     : Result.Failure <Option <Guid>, ValidationError[]>(new[] { MappingError.Create("Error mapping input to Guid.", typeof(string), typeof(Guid)) }),
     none: () => Result.Success <Option <Guid>, ValidationError[]>(Option.None <Guid>()));