protected override List <ExpenditureRecord> GetingItems(System.Data.Linq.DataContext dc, SearchCondition search)
        {
            IQueryable <ExpenditureRecord> ret = dc.GetTable <ExpenditureRecord>();

            if (search is SheetSearchCondition)
            {
                SheetSearchCondition con = search as SheetSearchCondition;
                if (con.SheetDate != null)
                {
                    ret = ret.Where(item => item.SheetDate >= con.SheetDate.Begin && item.SheetDate <= con.SheetDate.End);
                }
                if (con.LastActiveDate != null)
                {
                    ret = ret.Where(item => item.LastActiveDate >= con.LastActiveDate.Begin && item.LastActiveDate <= con.LastActiveDate.End);
                }
                if (con.SheetNo != null && con.SheetNo.Count > 0)
                {
                    ret = ret.Where(item => con.SheetNo.Contains(item.ID));
                }
                if (con.States != null && con.States.Count > 0)
                {
                    ret = ret.Where(item => con.States.Contains(item.State));
                }
            }
            if (search is ExpenditureRecordSearchCondition)
            {
                ExpenditureRecordSearchCondition con = search as ExpenditureRecordSearchCondition;
                if (!string.IsNullOrEmpty(con.Category))
                {
                    ret = ret.Where(item => item.Category.Contains(con.Category));
                }
            }
            return(ret.ToList());
        }
 protected override List <object> GetDataSource()
 {
     if (SearchCondition == null)
     {
         ExpenditureRecordSearchCondition con = new ExpenditureRecordSearchCondition();
         con.LastActiveDate = new DateTimeRange(DateTime.Today.AddYears(-1), DateTime.Now);
         _Sheets            = (new ExpenditureRecordBLL(AppSettings.Current.ConnStr)).GetItems(con).QueryObjects;
     }
     else
     {
         _Sheets = (new ExpenditureRecordBLL(AppSettings.Current.ConnStr)).GetItems(SearchCondition).QueryObjects;
     }
     return(FilterData());
 }