using System;
using System.Collections.Generic;
using System.Linq;
namespace AsbCloudApp.Exceptions
{
///
/// Argument validation fail Exception
///
public class ArgumentInvalidException : Exception
{
///
/// словарь с ошибками, где ключ - имя аргумента, а значение - массив из одного сообщения
///
public IDictionary ErrorState { get; } = null!;
// TODO: swap arguments, inherit from ArgumentException
///
/// конструктор
///
///
///
public ArgumentInvalidException(string paramName, string message)
: base(message)
{
ErrorState = new Dictionary() {
{ paramName, new[]{ message } }
};
}
///
/// конструктор
///
///
///
public ArgumentInvalidException(string[] paramsNames, string message)
: base(message)
{
ErrorState = paramsNames.ToDictionary(paramName => paramName, item => new[] { message });
}
}
}