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);
        }
Beispiel #3
0
        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));
        }
Beispiel #4
0
        private IEnumerable <IDayAssign> GetDayAssigns(MemberDayAssignFilterModel filter)
        {
            IEnumerable <IDayAssign> dayAssigns = assignProvider.GetDayAssignsForMembersByFilter(filter);

            return(dayAssigns);
        }