public static bool Verify(bool a, RevisionFilters.Criteria c) { bool result = false; RevisionFilters.ICompRoot opr = c.CompareOpr; if (c.CompareOpr == ANY) { result = true; } else if (opr == TRUE || opr == FALSE) { result = (a == true) == (opr == TRUE); } return(result); }
public static bool Verify(RevisionVisibility a, RevisionFilters.Criteria c) { bool result = false; RevisionFilters.ICompRoot opr = c.CompareOpr; if (c.CompareOpr == ANY) { result = true; } else if (opr == EQUAL || opr == NOT_EQUAL) { result = (a == c.TestValue.AsVisibility) == (opr == EQUAL); } return(result); }
public static bool Verify(int a, RevisionFilters.Criteria c) { bool result = false; RevisionFilters.ICompRoot opr = c.CompareOpr; int b = c.TestValue?.AsInt ?? 0; switch (c.CompareOpr.Type) { case RevisionFilters.CompareType.ANY: { result = true; break; } case RevisionFilters.CompareType.EQUAL: case RevisionFilters.CompareType.NOT_EQUAL: { result = (a == b) == (opr == EQUAL); break; } case RevisionFilters.CompareType.LESS_THEN: case RevisionFilters.CompareType.LESS_THEN_OR_EQUAL: { result = a < b || ((a == b) && (opr == LESS_THEN_OR_EQUAL)); break; } case RevisionFilters.CompareType.GREATER_THEN: case RevisionFilters.CompareType.GREATER_THEN_OR_EQUAL: { result = a > b || ((a == b) && (opr == GREATER_THEN_OR_EQUAL)); break; } } return(result); }
public static bool Verify(ElementId a, RevisionFilters.Criteria c) { bool result = false; RevisionFilters.ICompRoot opr = c.CompareOpr; ElementId b = c.TestValue?.AsElementId; if (c.CompareOpr == ANY) { result = true; } else if (a == null || b == null) { result = false; } else if (opr == EQUAL || opr == NOT_EQUAL) { result = (a.Value == b.Value) == (opr == EQUAL); } return(result); }
public static bool Verify(string a, RevisionFilters.Criteria c) { bool result = false; RevisionFilters.ICompRoot opr = c.CompareOpr; StringComparison ignorecase = StringComparison.OrdinalIgnoreCase; if (!c.IgnoreCase) { ignorecase = StringComparison.Ordinal; } string b = c.TestValue?.AsString; if (c.CompareOpr.Type == RevisionFilters.CompareType.ANY) { result = true; } else if (a == null) { result = false; } else if (opr == IS_EMPTY || opr == IS_NOT_EMPTY) { bool ans = string.IsNullOrEmpty(a); result = (opr == IS_EMPTY) == ans; } else if (b == null) { result = false; } else { switch (c.CompareOpr.Type) { case RevisionFilters.CompareType.EQUAL: case RevisionFilters.CompareType.NOT_EQUAL: { result = a.Equals(b) == (opr == EQUAL); break; } case RevisionFilters.CompareType.LESS_THEN: case RevisionFilters.CompareType.LESS_THEN_OR_EQUAL: { int ans = String.Compare(a, b, ignorecase); result = ans < 0 || ((a.Equals(b)) && (opr == LESS_THEN_OR_EQUAL)); break; } case RevisionFilters.CompareType.GREATER_THEN: case RevisionFilters.CompareType.GREATER_THEN_OR_EQUAL: { int ans = String.Compare(a, b, ignorecase); result = ans > 0 || ((a.Equals(b)) && (opr == GREATER_THEN_OR_EQUAL)); break; } case RevisionFilters.CompareType.STARTS_WITH: case RevisionFilters.CompareType.DOES_NOT_START_WITH: { bool ans = a.StartsWith(b, ignorecase); result = (opr == STARTS_WITH) == ans; break; } case RevisionFilters.CompareType.CONTAINS: case RevisionFilters.CompareType.DOES_NOT_CONTAIN: { bool ans = a.IndexOf(b, ignorecase) > 0; result = (opr == CONTAINS) == ans; break; } } } return(result); }