Esempio n. 1
0
        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);
        }
Esempio n. 2
0
 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);
 }
Esempio n. 3
0
        //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());
        }