public override CriteriaWithText GetCriteria() { var result = new CriteriaWithText(); switch (Operator.Key) { case FilterOperators.EQ: case FilterOperators.NE: case FilterOperators.LT: case FilterOperators.LE: case FilterOperators.GT: case FilterOperators.GE: { var text = GetEditorText(); result.DisplayText = DisplayText(Operator, text); var date = Q.ParseISODateTime((string)GetEditorValue()); date = new JsDate(date.GetFullYear(), date.GetMonth(), date.GetDate()); var next = new JsDate(date.GetFullYear(), date.GetMonth(), date.GetDate() + 1); var criteria = new Criteria(GetCriteriaField()); var dateValue = new ValueCriteria(Q.FormatDate(date, "yyyy-MM-dd")); var nextValue = new ValueCriteria(Q.FormatDate(next, "yyyy-MM-dd")); switch (Operator.Key) { case FilterOperators.EQ: result.Criteria = criteria >= dateValue & criteria < nextValue; return(result); case FilterOperators.NE: result.Criteria = ~(criteria <dateValue | criteria> nextValue); return(result); case FilterOperators.LT: result.Criteria = criteria < dateValue; return(result); case FilterOperators.LE: result.Criteria = criteria < nextValue; return(result); case FilterOperators.GT: result.Criteria = criteria >= nextValue; return(result); case FilterOperators.GE: result.Criteria = criteria >= dateValue; return(result); } } break; } return(base.GetCriteria()); }
public ValueCriteria[] SplitAsLines() { var lines = this.reference.SplitAsLines(); var result = new ValueCriteria[lines.Count]; for (var i = 0; i < lines.Count; i++) { result[i] = new ValueCriteria(lines[i]); } return(result); }
/// <summary> /// Visits the value criteria. Value criteria is just a constant /// value. /// </summary> /// <param name="criteria">The criteria.</param> /// <returns></returns> protected virtual BaseCriteria VisitValue(ValueCriteria criteria) { return(criteria); }