public IEnumerable <IDayAssign> GetDayAssignsForMembersByFilter(MemberDayAssignFilterModel filter) { Expression <Func <DayAssign, bool> > query = GetQuery(filter); IQueryable <DayAssign> data = Query.Where(query); return(data); }
private Expression <Func <DayAssign, bool> > GetQuery(MemberDayAssignFilterModel filterModel) { Expression <Func <DayAssign, bool> > filter = i => true; filter = filter.And(f => f.StatusId != JobStatus.Canceled); if (filterModel.Day.HasValue) { filter = filter.And(f => f.WeekDay == filterModel.Day.Value); } filter = filter.And(f => f.WeekNumber == filterModel.Week); filter = filter.And(f => f.Year == filterModel.Year); if (filterModel.WithEstimatedMinutes) { filter = filter.And(f => f.EstimatedMinutes.HasValue && f.EstimatedMinutes.Value != 0); } if (filterModel.WithDate) { filter = filter.And(f => f.Date != null); } if (filterModel.HousingDepartmentIds.HasValue()) { filter = filter.And(f => filterModel.HousingDepartmentIds.Contains(f.DepartmentId)); } return(filter); }
private IEnumerable <IDayAssign> GetAssigns(int year, int week, int?day, IEnumerable <Guid> housingDepartmentIds, bool withEstimatedMinutes = false, bool withDate = false) { var filter = new MemberDayAssignFilterModel { Year = year, Week = week, Day = day, WithEstimatedMinutes = withEstimatedMinutes, WithDate = withDate, HousingDepartmentIds = housingDepartmentIds }; return(GetDayAssigns(filter)); }
private IEnumerable <IDayAssign> GetDayAssigns(MemberDayAssignFilterModel filter) { IEnumerable <IDayAssign> dayAssigns = assignProvider.GetDayAssignsForMembersByFilter(filter); return(dayAssigns); }