public IWeekJobsResultModel GetJobsForWeek(IWeekPlanFilterModel filter) { IEnumerable <IWeekPlanListViewModel> jobs = Enumerable.Empty <IWeekPlanListViewModel>(); IWeekPlanGridModel model = GetWeekPlanGridModel(filter); if (filter.MemberIds.HasValue()) { var allowedDayAssignIds = dayAssignService.GetDayAssignIds(filter.Map <ITaskDataFilterModel>()).ToList(); jobs = GetListViewModel(model, filter.JobState) .Where(x => x.DayAssignId.HasValue && allowedDayAssignIds.Contains(x.DayAssignId.Value)); } else { jobs = GetListViewModel(model, filter.JobState); } List <IWeekPlanListViewModel> orderedJobList = jobs.OrderByDescending(x => x.AssignDate).ToList(); filter.Week = filter.Week > default(int) ? --filter.Week : default(int); int previousNotEmptyWeekNumber = jobService.GetPreviousNotEmptyWeekNumber(filter); return(new WeekJobsResultModel { Jobs = orderedJobList, IsAllowedPreviousWeeks = orderedJobList.Any() && previousNotEmptyWeekNumber > default(int), PreviousNotEmptyWeekNumber = previousNotEmptyWeekNumber }); }
public IEnumerable <Guid> GetDayAssignIdsForMembers(WeekPlanTaskRequestViewModel model) { var filter = model.Map <ITaskDataFilterModel>(); var ids = dayAssignService.GetDayAssignIds(filter); return(ids); }