Пример #1
0
 private static void AddIntervalSearch(ref SearchCondition condition, string queryField, string[] intervals)
 {
     foreach (string interval in intervals)
     {
         DateTime?t0 = null;
         DateTime?t1 = null;
         if (SystemEnumInterval.YearBefore.ToString() == interval)
         {
             t1 = DateTime.Now.Date.AddDays(1).AddYears(-1);
             condition.Add(queryField, Formula.QueryMethod.LessThan, (DateTime)t1);
         }
         else if (SystemEnumInterval.Year.ToString() == interval)
         {
             t1 = DateTime.Now.Date.AddDays(1);
             t0 = ((DateTime)t1).AddYears(-1);
         }
         else if (SystemEnumInterval.HalfYear.ToString() == interval)
         {
             t1 = DateTime.Now.Date.AddDays(1);
             t0 = ((DateTime)t1).AddMonths(-6);
         }
         else if (SystemEnumInterval.Month.ToString() == interval)
         {
             t1 = DateTime.Now.Date.AddDays(1);
             t0 = ((DateTime)t1).AddMonths(-1);
         }
         else if (SystemEnumInterval.Week.ToString() == interval)
         {
             t1 = DateTime.Now.Date.AddDays(1);
             t0 = ((DateTime)t1).AddDays(-7);
         }
         if (t0 != null && t1 != null)
         {
             condition.AddBetweenCondition(queryField, (DateTime)t0, (DateTime)t1);
         }
         else
         {
             if (t0 != null)
             {
                 condition.Add(queryField, Formula.QueryMethod.GreaterThanOrEqual, (DateTime)t0);
             }
             else if (t1 != null)
             {
                 condition.Add(queryField, Formula.QueryMethod.LessThan, (DateTime)t1);
             }
         }
     }
 }