public ValidationCondition(string MemberName, ComparsionValidationType Type) { this.MemberName = MemberName; this.Type = Type; }
public ComparsionValidationAttribute(string DisplayName, string TargetPropertyName, ComparsionValidationType Type) : base(DisplayName, TargetPropertyName) { this.Type = Type; }
protected bool GetComparsionResult(IComparable ObjectValue, IComparable FilterValue, ComparsionValidationType Type) { bool result; switch (Type) { case ComparsionValidationType.Equal: result = ObjectValue.CompareTo(FilterValue) == 0; break; case ComparsionValidationType.LessOrEqual: result = ObjectValue.CompareTo(FilterValue) <= 0; break; case ComparsionValidationType.Less: result = ObjectValue.CompareTo(FilterValue) < 0; break; case ComparsionValidationType.MoreOrEqual: result = ObjectValue.CompareTo(FilterValue) >= 0; break; case ComparsionValidationType.More: result = ObjectValue.CompareTo(FilterValue) > 0; break; case ComparsionValidationType.NotEqual: result = ObjectValue.CompareTo(FilterValue) != 0; break; default: result = false; break; } if (result) { return true; } memberValidationComments = string.Format("{0:.##} не соответствует {1}", ObjectValue, FilterValue); return false; }