using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Runtime.Serialization;
using Abp.Logging;
namespace Abp.Runtime.Validation
{
///
/// This exception type is used to throws validation exceptions.
///
[Serializable]
public class AbpValidationException : AbpException, IHasLogSeverity
{
///
/// Detailed list of validation errors for this exception.
///
public IList ValidationErrors { get; set; }
///
/// Exception severity.
/// Default: Warn.
///
public LogSeverity Severity { get; set; }
///
/// Constructor.
///
public AbpValidationException()
{
ValidationErrors = new List();
Severity = LogSeverity.Warn;
}
///
/// Constructor for serializing.
///
public AbpValidationException(SerializationInfo serializationInfo, StreamingContext context)
: base(serializationInfo, context)
{
ValidationErrors = new List();
Severity = LogSeverity.Warn;
}
///
/// Constructor.
///
/// Exception message
public AbpValidationException(string message)
: base(message)
{
ValidationErrors = new List();
Severity = LogSeverity.Warn;
}
///
/// Constructor.
///
/// Exception message
/// Validation errors
public AbpValidationException(string message, IList validationErrors)
: base(message)
{
ValidationErrors = validationErrors;
Severity = LogSeverity.Warn;
}
///
/// Constructor.
///
/// Exception message
/// Inner exception
public AbpValidationException(string message, Exception innerException)
: base(message, innerException)
{
ValidationErrors = new List();
Severity = LogSeverity.Warn;
}
}
}