/// <inheritdoc /> public override FluentValidationProblemDetails Read( ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options ) { var annotatedProblemDetails = JsonSerializer.Deserialize <AnnotatedProblemDetails>(ref reader, options); var problemDetails = new FluentValidationProblemDetails(); annotatedProblemDetails?.CopyTo(problemDetails); return(problemDetails); }
internal static FluentValidationProblemDetails From(ValidationProblemDetails validationProblemDetails, ValidationResult validationResult) { var result = new FluentValidationProblemDetails(validationResult) { Detail = validationProblemDetails.Detail, Instance = validationProblemDetails.Instance, Status = validationProblemDetails.Status, Title = validationProblemDetails.Title, Type = validationProblemDetails.Type, }; foreach (var ext in validationProblemDetails.Extensions) { result.Extensions.TryAdd(ext.Key, ext.Value); } return(result); }
#pragma warning disable CS8618 /// <summary> /// Required for JSON.NET deserialization. /// </summary> public AnnotatedProblemDetails(FluentValidationProblemDetails problemDetails) { Detail = problemDetails.Detail; Instance = problemDetails.Instance; Status = problemDetails.Status; Title = problemDetails.Title; Type = problemDetails.Type; foreach (var kvp in problemDetails.Extensions) { Extensions[kvp.Key] = kvp.Value; } Rules = problemDetails.Rules; foreach (var kvp in problemDetails.ValidationErrors) { Errors[kvp.Key] = kvp.Value; } }
public void CopyTo(FluentValidationProblemDetails problemDetails) { problemDetails.Type = Type; problemDetails.Title = Title; problemDetails.Status = Status; problemDetails.Instance = Instance; problemDetails.Detail = Detail; foreach (var(key, value) in Extensions) { problemDetails.Extensions[key] = value; } Rules = problemDetails.Rules; foreach (var(key, value) in problemDetails.ValidationErrors) { Errors[key] = value; } }