public TableData CreateTable(IEnumerable<EmployeeViewModel> employees, ManagingRequest request, int page, int pageSize) { var year = (request.Year ?? DateTime.Now.Year); var month = (request.Month ?? DateTime.Now.Month); var sort = (request.Sort ?? 2); var projectId = request.ProjectId; var projectName = (projectId == null ? "" : projectService.GetSingle((int)projectId).Name); if (request.Role != null && !request.Role.Equals(Roles.All)) { employees = employees.Where(x => x.Position.Equals(request.Role)); } return new TableData() { ProjectId = projectId, CurrentProjectName = projectName, Role = request.Role, Projects = projectService.GetAllViewModels(), Employees = employees.ToPagedList(page, pageSize), Month = (Month)month, Year = year, DayLimit = DateTime.DaysInMonth(year, month), FirstDay = (DayEnum)(int)(new DateTime(year, month, 1)).DayOfWeek, StartYear = 2010, EndYear = 2015, Sort = (SortEnum)sort }; }
public TableData GetIPagedList(ManagingRequest request) { var projectId = request.ProjectId ?? projectDataAccessObject.GetLastProjectId(); var page = request.Page ?? 1; var year = request.Year ?? DateTime.Now.Year; var month = request.Month ?? DateTime.Now.Month; var project = projectId == -1 ? new ProjectViewModel() : ProjectViewModel.Create(projectDataAccessObject.GetSingle(projectId)); var employees = request.ProjectId == null ? GetAllViewModels() : project.CurrentEmployees; var toTransfer = employees; foreach (var e in toTransfer) { e.AbsenceList = e.AbsenceList.Where(x => (x.Month == month && x.Year == year)).ToList(); } return managingTableService.CreateTable(employees, request, page, pageSize); }
public ActionResult Manage(ManagingRequest request) { return View(service.GetTableData(request)); }
public TableData GetTableData(ManagingRequest request) { return GetIPagedList(request); }