namespace Indotalent.ConfigBackEnd.Exceptions; using FluentValidation.Results; using System.Collections.Generic; using System.Linq; public class ValidationException : Exception { public IDictionary Errors { get; } public ValidationException() : base("One or more validation failures have occurred.") { Errors = new Dictionary(); } public ValidationException(IEnumerable failures) : this() { Errors = failures .GroupBy(e => e.PropertyName, e => e.ErrorMessage) .ToDictionary(failureGroup => failureGroup.Key, failureGroup => failureGroup.ToArray()); } public ValidationException(string message) : base(message) { Errors = new Dictionary(); } public ValidationException(string message, Exception innerException) : base(message, innerException) { Errors = new Dictionary(); } }