Newer
Older
ProblemDetails / ConsoleApp1 / ValidationProblemDetails.cs
@Derek Comartin Derek Comartin on 21 May 2024 1 KB Init
using System.Collections.Generic;
using Newtonsoft.Json;

namespace ConsoleApp1
{
    public static class ProblemDetailsExtension
    {
        public static ValidationProblemDetails ToValidationProblemDetails(this ProblemDetails problemDetails)
        {
            var obj = new ValidationProblemDetails
            {
                Detail = problemDetails.Detail,
                Instance = problemDetails.Instance,
                Status = problemDetails.Status,
                Title = problemDetails.Title,
                Type = problemDetails.Type,
                InvalidParams = JsonConvert.DeserializeObject<List<ValidationProblemDetailsParam>>(problemDetails.Extensions["invalidParams"].ToString() ?? string.Empty)
            };
            return obj;
        }
    }

    public class ValidationProblemDetails : ProblemDetails
    {
        public List<ValidationProblemDetailsParam> InvalidParams { get; set; }
    }

    public class ValidationProblemDetailsParam
    {
        public string Name { get; set; }
        public string Reason { get; set; }
    }
}