Пример #1
0
        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}"));
                }
            }
        }
Пример #2
0
        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}"));
                }
            }
        }