namespace DelftTools.Utils.Validation { public class ValidationIssue { private object viewData; public ValidationIssue(object subject, ValidationSeverity severity, string message, object viewdata = null) { Severity = severity; Message = message; Subject = subject; ViewData = viewdata; } public ValidationSeverity Severity { get; private set; } public string Message { get; private set; } public object Subject { get; set; } public object ViewData { get { return viewData ?? Subject; } private set { viewData = value; } } public override string ToString() { return "[" + Severity + "] " + Subject + ": " + Message; } public override bool Equals(object obj) { return Equals(obj as ValidationIssue); } private bool Equals(ValidationIssue other) { if (other == null) { return false; } if (ReferenceEquals(this, other)) { return true; } if (Severity != other.Severity) { return false; } if (!Equals(Subject, other.Subject)) { return false; } if (!Equals(Message, other.Message)) { return false; } return true; } } }