示例#1
0
        protected virtual IList ConvertFilterValues(WebFilterOperand operand, IExpression expression, List <string> parts)
        {
            try
            {
                var values = _stringConverter.ConvertValues(expression.ResultType, parts);

                if (operand is WebFilterOperand.Between)
                {
                    if (values.Count == 2 && values[0] is DateTime start && values[1] is DateTime end)
                    {
                        values = new List <Period> {
                            new Period(start, end.ToMidnightTimeIfEmpty())
                        };
                    }
                    else
                    {
                        throw new BadRequestException("Query parameter is invalid", new FormatException("Correct filter format is 'XXX=between,start,end'."));
                    }
                }

                return(values);
            }