using System;
using AsbCloudApp.Exceptions.Interfaces;
namespace AsbCloudApp.Exceptions;
///
/// Исключение для нескольких невалидных агрументов
///
public class ArgumentsInvalidException : Exception,
IHasValidation
{
///
/// Имена параметров
///
public string[] ParamNames { get; } = Array.Empty();
///
/// Контсруктор исключения
///
///
///
public ArgumentsInvalidException(string message,
string[] paramNames)
{
ParamNames = paramNames;
}
///
/// преобразование в объект валидации
///
///
public object ToValidationErrorObject()
=> MakeValidationError(ParamNames, Message);
///
/// фабрика объекта валидации
///
///
///
///
public static object MakeValidationError(string[] paramNames, params string[] errors)
=> new
{
names = paramNames,
errors,
};
}