private static bool MatchByOperatorText(object value, ExcelFilterCustomItem filter) { if (filter.Operator == null) { return(FilterWildCardMatcher.Match(value.ToString(), filter.Value)); } else { switch (filter.Operator.Value) { case eFilterOperator.Equal: return(FilterWildCardMatcher.Match(value.ToString(), filter.Value)); case eFilterOperator.NotEqual: return(!FilterWildCardMatcher.Match(value.ToString(), filter.Value)); case eFilterOperator.GreaterThan: return(string.Compare(value.ToString(), filter.Value, StringComparison.CurrentCultureIgnoreCase) > 0); case eFilterOperator.GreaterThanOrEqual: return(string.Compare(value.ToString(), filter.Value, StringComparison.CurrentCultureIgnoreCase) >= 0); case eFilterOperator.LessThan: return(string.Compare(value.ToString(), filter.Value, StringComparison.CurrentCultureIgnoreCase) < 0); case eFilterOperator.LessThanOrEqual: return(string.Compare(value.ToString(), filter.Value, StringComparison.CurrentCultureIgnoreCase) <= 0); default: throw (new ArgumentException($"Unhandled filter operator {filter.Operator}")); } } }
private bool MatchByOperatorNumeric(object value, ExcelFilterCustomItem filter) { if (filter.Operator == null) { return(filter._valueDouble.Equals(Utils.ConvertUtil.GetValueDouble(value))); } else { switch (filter.Operator.Value) { case eFilterOperator.Equal: return(filter._valueDouble.Equals(Utils.ConvertUtil.GetValueDouble(value))); case eFilterOperator.NotEqual: return(!filter._valueDouble.Equals(Utils.ConvertUtil.GetValueDouble(value))); case eFilterOperator.GreaterThan: return(Utils.ConvertUtil.GetValueDouble(value) > filter._valueDouble); case eFilterOperator.GreaterThanOrEqual: return(Utils.ConvertUtil.GetValueDouble(value) >= filter._valueDouble); case eFilterOperator.LessThan: return(Utils.ConvertUtil.GetValueDouble(value) < filter._valueDouble); case eFilterOperator.LessThanOrEqual: return(Utils.ConvertUtil.GetValueDouble(value) <= filter._valueDouble); default: throw (new ArgumentException($"Unhandled filter operator {filter.Operator}")); } } }