コード例 #1
0
ファイル: RecordService.cs プロジェクト: vkyczh/Recorder
 public IEnumerable<Record> Query(RecordFilter filter)
 {
     return RecordRepository.Query(filter);
 }
コード例 #2
0
ファイル: RecordRepository.cs プロジェクト: vkyczh/Recorder
 public IEnumerable<Record> Query(RecordFilter filter)
 {
     var cmdText = "select * from record where 1= 1 ";
     var parameters = new Stack<SQLiteParameter>();
     if (filter != null)
     {
         if (filter.BeginEditDate != null)
         {
             cmdText += "and LastUpdateDate >=  @BeginEditDate ";
             parameters.Push(new SQLiteParameter("@BeginEditDate", filter.BeginEditDate.Value));
         }
         if (!string.IsNullOrWhiteSpace(filter.DealWith))
         {
             cmdText += "and DealWith like @DealWith ";
             parameters.Push(new SQLiteParameter("@DealWith",string.Format("%{0}%",filter.DealWith)));
         }
         if (filter.EndEditDate != null)
         {
             cmdText += "and LastUpdateDate <  @EndEditDate ";
             parameters.Push(new SQLiteParameter("@EndEditDate", filter.EndEditDate.Value));
         }
         if (!string.IsNullOrWhiteSpace(filter.Project))
         {
             cmdText += "and project like @Project ";
             parameters.Push(new SQLiteParameter("@Project", string.Format("%{0}%", filter.Project)));
         }
         if (filter.Status != null)
         {
             cmdText += "and Status = @Status ";
             parameters.Push(new SQLiteParameter("@Status", filter.Status.Value));
         }
         if (!string.IsNullOrWhiteSpace(filter.Tag))
         {
             cmdText += "and tag like @Tag ";
             parameters.Push(new SQLiteParameter("@Tag", string.Format("%{0}%", filter.Tag)));
         }
         if (!string.IsNullOrWhiteSpace(filter.Title))
         {
             cmdText += "and title like @Title ";
             parameters.Push(new SQLiteParameter("@Title", string.Format("%{0}%",filter.Title)));
         }
     }
     var dt = DbContext.ExecuteQuery(cmdText, parameters.ToArray());
     var result = new List<Record>();
     foreach (DataRow row in dt.Rows)
     {
         result.Add(new Record
         {
             Id = new Guid(row["Id"].ToString()),
             CreateDate = (DateTime)row["CreateDate"],
             DealWith = row["DealWith"].ToString(),
             LastEditDate = (DateTime)row["LastEditDate"],
             Description = row["Description"].ToString(),
             Status = (RecordStatus)row["Status"],
             Project = row["Project"].ToString(),
             Tag = row["Tag"].ToString(),
             Title = row["Title"].ToString()
         });
     }
     return result;
 }