Example #1
0
        public TaskApplicantsReponse GetTaskApplicantsForApproval(int selectedTaskTypeId, int currentPageIndex, int recordsCount)
        {
            var start         = DateTime.Now;
            var response      = new TaskApplicantsReponse();
            var taskApprovals = new List <TaskApproval>();
            var totalRecords  = 0;
            IEnumerable <task> dbTaskApprovals;
            //If Admin - TBD after usercontext module
            //if (!true)
            var user = _commonService.GetCurrentUserContext();

            dbTaskApprovals = _requestorRepository.GetTaskApplicantsForApproval(selectedTaskTypeId, currentPageIndex, recordsCount, user.EmailId, out totalRecords);

            foreach (var dbTaskApproval in dbTaskApprovals)
            {
                var taskApproval = new TaskApproval();
                taskApproval.Task            = _taskModelFactory.CreateModel <Models.ResponseModels.Task.Task>(dbTaskApproval);
                taskApproval.Applicants      = new List <Models.ResponseModels.Contributor.Contributor>();
                taskApproval.TaskApplicantId = dbTaskApproval.ID;
                foreach (var dbApplicant in dbTaskApproval.taskapplicants)
                {
                    if (dbApplicant.STATUS == ApplicantStatus.ManagerApproved.ToString())
                    {
                        var applicant = _taskApplicantModelFactory.CreateModel <Models.ResponseModels.Contributor.Contributor>(dbApplicant);

                        applicant.TopRatingsCount = _taskRepository.GetTopRatingCountOnEmailId(applicant.EmailId);

                        applicant.Expertise = ConvertSkillsToString(_userRepository.GetSkillsByUserId(applicant.ApplicantId));

                        applicant.StatementOfPurpose = dbApplicant.STATEMENT_OF_PURPOSE ?? string.Empty;

                        applicant.Comments =
                            _taskRepository
                            .GetAllCommentsOnEmailId(applicant.EmailId)
                            .Select(x => new ManagerComments
                        {
                            ManagerId = x.Key,
                            Comment   = x.Value
                        })
                            ?.ToList();

                        taskApproval.Applicants.Add(applicant);
                    }
                }
                taskApprovals.Add(taskApproval);
            }

            response.TaskApprovals = taskApprovals;

            response.TotalRecords = totalRecords;

            var end = DateTime.Now - start;

            return(response);
        }
 public int UpdateTaskApproval(TaskApproval objTaskApproval)
 {
     return(TaskGeneratorDAL.Instance.UpdateTaskApproval(objTaskApproval));
 }
 public int InsertTaskApproval(TaskApproval objTaskApproval)
 {
     return(TaskGeneratorDAL.Instance.InsertTaskApproval(objTaskApproval));
 }
Example #4
0
        public object FreezeTask(string strEstimatedHours, string strTaskApprovalId, string strTaskId, string strPassword)
        {
            string strMessage;
            bool   blSuccess = false;

            decimal decEstimatedHours = 0;

            if (string.IsNullOrEmpty(strPassword))
            {
                strMessage = "Sub Task cannot be freezed as password is not provided.";
            }
            else if (!strPassword.Equals(Convert.ToString(Session["loginpassword"])))
            {
                strMessage = "Sub Task cannot be freezed as password is not valid.";
            }
            else if (string.IsNullOrEmpty(strEstimatedHours))
            {
                strMessage = "Sub Task cannot be freezed as estimated hours is not provided.";
            }
            else if (!decimal.TryParse(strEstimatedHours.Trim(), out decEstimatedHours) || decEstimatedHours <= 0)
            {
                strMessage = "Sub Task cannot be freezed as estimated hours is not valid.";
            }
            else
            {
                #region Update Estimated Hours

                TaskApproval objTaskApproval = new TaskApproval();
                if (string.IsNullOrEmpty(strTaskApprovalId))
                {
                    objTaskApproval.Id = 0;
                }
                else
                {
                    objTaskApproval.Id = Convert.ToInt64(strTaskApprovalId);
                }
                objTaskApproval.EstimatedHours = strEstimatedHours.Trim();
                objTaskApproval.Description    = string.Empty;
                objTaskApproval.TaskId         = Convert.ToInt32(strTaskId);
                objTaskApproval.UserId         = Convert.ToInt32(Session[JG_Prospect.Common.SessionKey.Key.UserId.ToString()]);
                objTaskApproval.IsInstallUser  = JGSession.IsInstallUser.Value;

                if (objTaskApproval.Id > 0)
                {
                    TaskGeneratorBLL.Instance.UpdateTaskApproval(objTaskApproval);
                }
                else
                {
                    TaskGeneratorBLL.Instance.InsertTaskApproval(objTaskApproval);
                }

                #endregion

                #region Update Task (Freeze, Status)

                Task objTask = new Task();

                objTask.TaskId = Convert.ToInt32(strTaskId);

                bool blIsAdmin, blIsTechLead, blIsUser;

                blIsAdmin = blIsTechLead = blIsUser = false;
                if (JGSession.DesignationId == (byte)JG_Prospect.Common.JGConstant.DesignationType.Admin)
                {
                    objTask.AdminUserId        = Convert.ToInt32(Session[JG_Prospect.Common.SessionKey.Key.UserId.ToString()]);
                    objTask.IsAdminInstallUser = JGSession.IsInstallUser.Value;
                    objTask.AdminStatus        = true;
                    blIsAdmin = true;
                }
                else if (JGSession.DesignationId == (byte)JG_Prospect.Common.JGConstant.DesignationType.IT_Lead)
                {
                    objTask.TechLeadUserId        = Convert.ToInt32(Session[JG_Prospect.Common.SessionKey.Key.UserId.ToString()]);
                    objTask.IsTechLeadInstallUser = JGSession.IsInstallUser.Value;
                    objTask.TechLeadStatus        = true;
                    blIsTechLead = true;
                }
                else
                {
                    objTask.OtherUserId            = Convert.ToInt32(Session[JG_Prospect.Common.SessionKey.Key.UserId.ToString()]);
                    objTask.IsOtherUserInstallUser = JGSession.IsInstallUser.Value;
                    objTask.OtherUserStatus        = true;
                    blIsUser = true;
                }

                TaskGeneratorBLL.Instance.UpdateSubTaskStatusById
                (
                    objTask,
                    blIsAdmin,
                    blIsTechLead,
                    blIsUser
                );

                blSuccess  = true;
                strMessage = "Sub Task freezed successfully.";

                #endregion
            }

            var result = new
            {
                Success = blSuccess,
                Message = strMessage,
                TaskId  = strTaskId
            };

            return(result);
        }