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()); }