/// <summary> /// Creates broken rules summary /// </summary> /// <param name="value"><see cref="IMayHaveBrokenRules"/> instance to create the broken rules summary for</param> /// <returns>A summary of all broken rules for a given <see cref="IMayHaveBrokenRules"/></returns> public static string Summary(this IMayHaveBrokenRules value) { var lst = value?.GetBrokenRules(); if (lst != null) { var sb = new StringBuilder(); foreach (var rl in lst) { if (rl != null) { var s = rl.ToString(); if (!string.IsNullOrEmpty(s)) { if (sb.Length > 0) { sb.AppendLine(); } sb.Append(s); } } } return(sb.ToString()); } return(""); }
/// <summary> /// Constructs invalid entity exception for a given entity /// </summary> /// <param name="entity"></param> public InvalidEntityException(IMayHaveBrokenRules entity) : this(entity.Summary()) { }