using System.Collections.Generic;
using System.Linq;
using Kreta.Core;
using Kreta.Core.Domain;
using Kreta.Core.Enum;
using Kreta.Naplo.Domain.V3.Interfaces;
using Kreta.Naplo.Dto.V3.Exception;
using Swashbuckle.Examples;
namespace Kreta.Naplo.WebApi.V3.Documentation
{
///
/// Author: DevKornél Created On: 2019.05.
///
public class ValidaciosHibaExample : NaploExceptionResponseDto, IExamplesProvider where TModel : class, IModelValidacio, new() where TSameModel : class
{
public ValidaciosHibaExample() : base(BlExceptionType.ModelValidacio, BlExceptionType.ModelValidacio.ToDisplayName())
{
}
public ValidaciosHibaExample(IEnumerable errorList)
: base(BlExceptionType.ModelValidacio, BlExceptionType.ModelValidacio.ToDisplayName(), errorList.ToList())
{
}
public object GetExamples()
{
List example = new List();
int index = 0;
new List(new TModel().ModelValidaciok.Values).ForEach(x => example.Add(new DetailedErrorItem($"custom_{++index}", x, BlExceptionType.ModelValidacio)));
return new ValidaciosHibaExample(example);
}
}
}