Exemplo n.º 1
0
        //public approvedapplicant GetApprovedApplicantById(int id)
        //{
        //    return Context.Set<approvedapplicant>().Where(x => x.ID == id).FirstOrDefault();
        //}

        public int ReviewTask(approvedapplicant approvedApplicant)
        {
            //TBD - populate Update fields
            var dbApprovedApplicant = Context.Set <approvedapplicant>().Where(x => x.ID == approvedApplicant.ID).FirstOrDefault();

            dbApprovedApplicant.RATING     = approvedApplicant.RATING;
            dbApprovedApplicant.WORK_AGAIN = approvedApplicant.WORK_AGAIN;
            dbApprovedApplicant.COMMENTS   = approvedApplicant.COMMENTS;
            dbApprovedApplicant.STATUS     = ApprovedApplicantStatus.Closed.ToString();

            //var applicant = Context.Set<taskapplicant>().Where(x => x.ID == dbApprovedApplicant.ID).FirstOrDefault();
            IQueryable <taskapplicant> query;

            query = Context.Set <taskapplicant>().Where(x => x.TASK_ID == dbApprovedApplicant.TASK_ID && x.STATUS == TaskApplicant.Assigned.ToString());
            query.Include(x => x.task).Load();
            var applicant = query.FirstOrDefault();

            applicant.task.STATUS = TaskStatus.Closed.ToString();
            applicant.STATUS      = ApplicantStatus.Closed.ToString();
            //var applicant = Context.Set<>().Where(x => x.ID == dbApprovedApplicant.APPLICANT_ID).FirstOrDefault();
            //var task = Context.Set<task>().Where(x => x.ID == applicant.TASK_ID).FirstOrDefault();
            //applicant.STATUS = Enums.ApplicantStatus.Closed.ToString();
            //task.STATUS = Enums.TaskStatus.Closed.ToString();
            var count = Context.SaveChanges();

            return(count);
        }
Exemplo n.º 2
0
        /// <summary>
        /// Assigns Task to the applicant and returns integer if successfull
        /// </summary>
        /// <param name="taskId"></param>
        /// <param name="applicantId"></param>
        /// <returns></returns>
        public int AssignTask(approvedapplicant dbApprovedApplicant)
        {
            var dbTask      = Context.Set <task>().Where(x => x.ID == dbApprovedApplicant.TASK_ID).FirstOrDefault();
            var dbApplicant = Context.Set <taskapplicant>().Where(x => x.ID == dbApprovedApplicant.ID).FirstOrDefault();

            dbTask.STATUS              = TaskStatus.Assigned.ToString();
            dbApplicant.STATUS         = ApplicantStatus.Assigned.ToString();
            dbApprovedApplicant.STATUS = ApplicantStatus.Active.ToString();

            Context.Set <approvedapplicant>().Add(dbApprovedApplicant);
            var result = Context.SaveChanges();

            return(result);
        }
Exemplo n.º 3
0
        //private List<TaskApproval> ProcessApplicantForTaskApprovals(IList<taskapplicant> taskApplicants)
        //{

        //}

        public int AssignTask(AssignTaskRequest taskRequest)
        {
            var userContext         = _commonService.GetCurrentUserContext();
            var dbApprovedApplicant = new approvedapplicant();

            dbApprovedApplicant.ID           = taskRequest.TaskApplicantId;
            dbApprovedApplicant.TASK_ID      = taskRequest.TaskId;
            dbApprovedApplicant.APPLICANT_ID = taskRequest.ApplicantId;
            MapAuditFields <approvedapplicant>(ActionType.Insert, dbApprovedApplicant);
            var result = _requestorRepository.AssignTask(dbApprovedApplicant);

            if (result > 0)
            {
                var task                 = _taskRepository.GetTaskById(taskRequest.TaskId);
                var offering             = _commonService.GetOfferings().Where(x => x.Id == task.OFFERING_ID).Select(x => x.Description).FirstOrDefault();
                var applicant            = _requestorRepository.GetTaskApplicantByApplicantId(taskRequest.TaskApplicantId);
                var applicantUserContext = _commonService.MapDetailsFromDeloitteNetworkWithoutUserContextObject(applicant.user.EMAIL_ID.Split('@')[0]);
                var RMGroupEmailAddress  = _commonService.GetRMGroupEmailAddress(applicantUserContext.Department);

                var ccEmailAddress = taskRequest.TaskTypeId == 1
                    ? $"{userContext.EmailId};{applicant.user.MANAGER_EMAIL_ID};{RMGroupEmailAddress}"
                    : userContext.EmailId;

                var mailMessage  = EmailHelper.AssignNotification(applicant.user.FIRST_NAME + Constants.Space + applicant.user.LAST_NAME, applicant.task.TASK_NAME, applicant.task.PROJECT_NAME, applicant.task.PROJECT_WBS_Code, applicant.user.EMAIL_ID, ccEmailAddress, offering);
                var emailTracker = new EmailTracker
                {
                    ToAddresses = applicant.user.EMAIL_ID,
                    Subject     = mailMessage.Subject,
                    Body        = mailMessage.Body,
                    TaskId      = taskRequest.TaskId,
                    Source      = ApplicationSource.WebApp.ToString()
                };

                if (ccEmailAddress != null)
                {
                    emailTracker.CcAddresses.Add(ccEmailAddress);
                }

                _emailTrackerService.InsertEmail(emailTracker);
            }
            return(result);
        }