private static void CreateRangeDescriptor <T>(OperatorType operatorType, DateRangeQueryDescriptor <T> descriptor, DateFilterValue dateFilterValue) where T : class { switch (operatorType) { case OperatorType.Equal: descriptor.GreaterThanOrEquals(dateFilterValue.Value); descriptor.LessThanOrEquals(dateFilterValue.Value.AddHours(24)); break; case OperatorType.GreaterThan: descriptor.GreaterThan(dateFilterValue.Value); break; case OperatorType.GreaterThanOrEqual: descriptor.GreaterThanOrEquals(dateFilterValue.Value); break; case OperatorType.LessThan: descriptor.LessThan(dateFilterValue.Value); break; case OperatorType.LessThanOrEquals: descriptor.LessThanOrEquals(dateFilterValue.Value.AddHours(24)); break; default: throw new ArgumentOutOfRangeException(); } }
public static DateRangeQueryDescriptor <T> AddDateQueryDescriptor <T>(this DateRangeQueryDescriptor <T> drqd, Direction direction, string timestamp) where T : class { switch (direction) { case Direction.Gte: return(drqd.GreaterThanOrEquals(timestamp)); case Direction.Lte: return(drqd.LessThanOrEquals(timestamp)); default: return(drqd); } }
public static DateRangeQueryDescriptor <T> RangeOnDate <T>(this DateRangeQueryDescriptor <T> filterDescriptor, ExpressionType type, DateTime value) where T : class { if (type == ExpressionType.LessThan) { return(filterDescriptor.LessThan(value)); } if (type == ExpressionType.GreaterThan) { return(filterDescriptor.GreaterThan(value)); } if (type == ExpressionType.LessThanOrEqual) { return(filterDescriptor.LessThanOrEquals(value)); } if (type == ExpressionType.GreaterThanOrEqual) { return(filterDescriptor.GreaterThanOrEquals(value)); } throw new NotImplementedException(); }
public static DateRangeQueryDescriptor <T> LessThanWithOption <T>(this DateRangeQueryDescriptor <T> q, DateMath to, bool includeEnd) where T : class { return(includeEnd ? q.LessThanOrEquals(to) : q.LessThan(to)); }