using System.Collections.Generic;
using System.Linq;
using Kreta.Core;
using Kreta.Core.Domain;
using Kreta.Core.Enum;
using Kreta.Ellenorzo.Domain.VN.Interfaces;
using Kreta.Ellenorzo.Dto.VN.Exception;
using Swashbuckle.Examples;
namespace Kreta.Ellenorzo.WebApi.VN.Documentation
{
///
/// Author: DevKornél Created On: 2019.05.
///
public class ValidaciosHibaExample : EllenorzoExceptionResponseDto, 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);
}
}
}