//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); }
/// <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); }
//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); }