using System; namespace AsbCloudApp.Exceptions { /// <summary> /// Argument validation fail Exception /// </summary> public class ArgumentInvalidException : Exception { /// <summary> /// название аргумента /// </summary> public string ParamName { get; } /// <summary> /// конструктор /// </summary> /// <param name="message"></param> /// <param name="paramName"></param> public ArgumentInvalidException(string message, string paramName = default) : base(message) { ParamName = paramName; } /// <summary> /// преобразование в объект валидации /// </summary> /// <returns></returns> public object ToValaidationErrorObject() => MakeValidationError(ParamName, Message); /// <summary> /// фабрика объекта валидации /// </summary> /// <param name="paramName"></param> /// <param name="errors"></param> /// <returns></returns> public static object MakeValidationError(string paramName, params string[] errors) => new { name = paramName, errors, }; } }