public TaskStatusResponse GetStatusOftasks(int selectedTaskType, int currentPageIndex, int recordsCount, TaskStatusSortFields sortField, SortOrder sortOrder) { var user = _commonService.GetCurrentUserContext(); var response = new TaskStatusResponse(); var totalRecords = 0; var taskStatusList = new List <Models.ResponseModels.Requestor.TaskStatus>(); var dbApprovedApplicants = _requestorRepository.GetStatusOftasks(selectedTaskType, user.EmailId, currentPageIndex, recordsCount, TaskStatusSortFields.Name, SortOrder.DESC, out totalRecords); foreach (var dbApprovedApplicant in dbApprovedApplicants) { var taskStatus = new Models.ResponseModels.Requestor.TaskStatus(); taskStatus.Applicant = _approvedApplicantModelFactory.CreateModel <DCode.Models.ResponseModels.Contributor.Contributor>(dbApprovedApplicant); taskStatus.Task = _taskModelFactory.CreateModel <DCode.Models.ResponseModels.Task.Task>(dbApprovedApplicant.task); taskStatus.ApprovedApplicantId = dbApprovedApplicant.ID; taskStatus.Duration = CommonHelper.CalculateDuration(dbApprovedApplicant.CREATED_ON); taskStatusList.Add(taskStatus); } response.TaskStatuses = taskStatusList; response.TotalRecords = totalRecords; return(response); }
public JsonResult GetStatusOftasks(int selectedTaskType, int currentPageIndex = 1, int recordsCount = 10, TaskStatusSortFields sortField = TaskStatusSortFields.Name, SortOrder sortOrder = SortOrder.DESC) { var tasksStatuses = _requestorService.GetStatusOftasks(selectedTaskType, currentPageIndex, recordsCount, sortField, sortOrder); return Json(tasksStatuses, JsonRequestBehavior.AllowGet); }
//public IEnumerable<approvedapplicant> GetApprovedApplicantsByTaskId(int taskId) //{ // var applicants = Context.Set<task>().SelectMany(x => x.applicants).Where(y => y.TASK_ID == taskId); // var approvedApplicants = applicants.SelectMany(z => z.approvedapplicants); // return approvedApplicants; //} public IEnumerable <approvedapplicant> GetStatusOftasks(int selectedTaskType, string emailId, int currentPageIndex, int recordsCount, TaskStatusSortFields sortField, SortOrder sortOrder, out int totalRecords) { IEnumerable <int> taskIdList; //Admin login //if (string.IsNullOrEmpty(emailId)) //{ // taskIdList = Context.Set<task>().Where(x => x.STATUS != Enums.TaskStatus.Closed.ToString()).Select(y => y.ID).ToList(); //} //else //{ taskIdList = Context.Set <task>().Where(x => x.user.EMAIL_ID == emailId && x.STATUS == TaskStatus.Assigned.ToString() && x.TASK_TYPE_ID == selectedTaskType).Select(y => y.ID).ToList(); //} IQueryable <approvedapplicant> query; query = Context.Set <approvedapplicant>().Where(x => taskIdList.Contains(x.TASK_ID)); query.Include(x => x.user).Load(); query.Include(x => x.task).Load(); query.Include(x => x.task.offering).Load(); query.Include(x => x.task.service_line).Load(); totalRecords = query.Count(); ////Pick records based on the pageindex. if (sortField == TaskStatusSortFields.Name) { query = sortOrder == SortOrder.ASC ? query.OrderBy(x => x.user.FIRST_NAME).Skip((currentPageIndex - 1) * recordsCount).Take(recordsCount) : query.OrderByDescending(x => x.user.FIRST_NAME).Skip((currentPageIndex - 1) * recordsCount).Take(recordsCount); } else if (sortField == TaskStatusSortFields.DueDate) { query = sortOrder == SortOrder.ASC ? query.OrderBy(x => x.task.DUE_DATE).Skip((currentPageIndex - 1) * recordsCount).Take(recordsCount) : query.OrderByDescending(x => x.task.DUE_DATE).Skip((currentPageIndex - 1) * recordsCount).Take(recordsCount); } else if (sortField == TaskStatusSortFields.Hours) { query = sortOrder == SortOrder.ASC ? query.OrderBy(x => x.task.HOURS).Skip((currentPageIndex - 1) * recordsCount).Take(recordsCount) : query.OrderByDescending(x => x.task.HOURS).Skip((currentPageIndex - 1) * recordsCount).Take(recordsCount); } else if (sortField == TaskStatusSortFields.ProjectName) { query = sortOrder == SortOrder.ASC ? query.OrderBy(x => x.task.PROJECT_NAME).Skip((currentPageIndex - 1) * recordsCount).Take(recordsCount) : query.OrderByDescending(x => x.task.PROJECT_NAME).Skip((currentPageIndex - 1) * recordsCount).Take(recordsCount); } else if (sortField == TaskStatusSortFields.TaskName) { query = sortOrder == SortOrder.ASC ? query.OrderBy(x => x.task.TASK_NAME).Skip((currentPageIndex - 1) * recordsCount).Take(recordsCount) : query.OrderByDescending(x => x.task.TASK_NAME).Skip((currentPageIndex - 1) * recordsCount).Take(recordsCount); } return(query.ToList()); }