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