public int InsertApplicantAndTask(taskapplicant taskApplicant, user applicant) { var result = Context.Set <user>().Add(applicant); var res = Context.Set <taskapplicant>().Add(taskApplicant); return(Context.SaveChanges()); }
public int InsertApplicant(ApplicantRequest model) { int result = 0; var applicant = _userRepository.GetUserByEmailId(model.EmailId); if (applicant != null && applicant.ID != null) { var taskApplicant = new taskapplicant(); taskApplicant.APPLICANT_ID = applicant.ID; taskApplicant.TASK_ID = model.TaskId; taskApplicant.STATUS = TaskApplicant.Active.ToString(); result = _userRepository.InsertTaskApplicant(taskApplicant); } else { var applicantt = new user(); applicantt.EMAIL_ID = model.EmailId; applicantt.FIRST_NAME = model.FirstName; applicantt.LAST_NAME = model.LastName; applicantt.MANAGER_EMAIL_ID = model.ManagerEmailId; var taskApplicant = new taskapplicant(); taskApplicant.TASK_ID = model.TaskId; taskApplicant.STATUS = TaskApplicant.Active.ToString(); result = _userRepository.InsertApplicantAndTask(taskApplicant, applicantt); } return(result); }
public int RejectTask(taskapplicant taskApplicant) { var dbApplicant = Context.Set <taskapplicant>().Where(x => x.ID == taskApplicant.ID).FirstOrDefault(); dbApplicant.STATUS = ApplicantStatus.ManagerRejected.ToString(); var count = Context.SaveChanges(); return(count); }
public int AllowTask(taskapplicant taskApplicant) { var dbApplicant = Context.Set <taskapplicant>().Where(x => x.ID == taskApplicant.ID).FirstOrDefault(); dbApplicant.STATUS = ApplicantStatus.ManagerApproved.ToString(); var result = Context.SaveChanges(); return(result); }
public int AllowTask(ApproveTaskRequest taskRequest) { var userContext = _commonService.GetCurrentUserContext(); var dbApplicant = new taskapplicant(); dbApplicant.ID = taskRequest.TaskApplicantId; dbApplicant.APPLICANT_ID = taskRequest.ApplicantId; dbApplicant.TASK_ID = taskRequest.TaskId; MapAuditFields <taskapplicant>(ActionType.Update, dbApplicant); var result = _requestorRepository.AllowTask(dbApplicant); 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 ccMailAddress = applicant.task.CREATED_BY.ToString() + ";" + userContext.EmailId.ToString(); var mailMessage = EmailHelper.SendApproveRejectNotification(applicant.user.FIRST_NAME + Constants.Space + applicant.user.LAST_NAME, applicant.task.TASK_NAME, applicant.task.PROJECT_NAME, EmailType.Approved, applicant.user.EMAIL_ID, ccMailAddress, offering); var emailTracker = new EmailTracker { ToAddresses = applicant.user.EMAIL_ID, Subject = mailMessage.Subject, Body = mailMessage.Body, TaskId = taskRequest.TaskId, Source = ApplicationSource.WebApp.ToString() }; foreach (var address in emailTracker.CcAddresses) { if (ccMailAddress != null) { emailTracker.CcAddresses.Add(ccMailAddress); } } _emailTrackerService.InsertEmail(emailTracker); } return(result); }
public int ApplyTask(int taskId, string emailAddress, string statementOfPurpose) { try { var user = _commonService.GetCurrentUserContext(); var taskApplicant = new taskapplicant { APPLICANT_ID = user.UserId, TASK_ID = taskId, STATUS = ApplicantStatus.Active.ToString(), STATUS_DATE = DateTime.Now, STATEMENT_OF_PURPOSE = statementOfPurpose }; MapAuditFields(ActionType.Insert, taskApplicant); var result = _contributorRepository.ApplyForTask(taskApplicant); if (result > 0) { var task = _taskRepository.GetTaskById(taskId); if (string.IsNullOrWhiteSpace(emailAddress)) { emailAddress = user.ManagerEmailId; } var managerName = _commonService.GetNameFromEmailId(emailAddress); _userRepository.UpdateManager(user.UserId, managerName, emailAddress); var RMGroupEmailAddress = _commonService.GetRMGroupEmailAddress(user.Department); var offering = _commonService.GetOfferings().Where(x => x.Id == task.OFFERING_ID).Select(x => x.Description).FirstOrDefault(); var mailMessage = EmailHelper.ApplyNotification( managerName, $"{user.FirstName}{Constants.Space}{user.LastName}", task.TASK_NAME, task.PROJECT_NAME, $"{task.HOURS.ToString()}h", task.ONBOARDING_DATE.Value.ToShortDateString(), emailAddress, $"{user.EmailId};{RMGroupEmailAddress}", offering); var emailTracker = new EmailTracker { ToAddresses = emailAddress, Subject = mailMessage.Subject, Body = mailMessage.Body, TaskId = taskId, Source = ApplicationSource.WebApp.ToString() }; if (RMGroupEmailAddress != null) { emailTracker.CcAddresses.Add(RMGroupEmailAddress); } _emailTrackerService.InsertEmail(emailTracker); } return(result); } catch (Exception ex) { var logDetails = new DCode.Models.Common.Log { Description = ex.Message, Details = ex.ToString() }; _commonService.LogToDatabase(logDetails); return(-1); } }
public int ApplyFITask(int taskId, string requestor) { try { var user = _commonService.GetCurrentUserContext(); var taskApplicant = new taskapplicant { APPLICANT_ID = user.UserId, TASK_ID = taskId, STATUS = ApplicantStatus.ManagerApproved.ToString(), STATUS_DATE = DateTime.Now, STATEMENT_OF_PURPOSE = "Interested for Firm Initiative" }; MapAuditFields(ActionType.Insert, taskApplicant); var result = _contributorRepository.ApplyForTask(taskApplicant); if (result > 0) { var requestorName = _commonService.GetNameFromEmailId(requestor); var task = _taskRepository.GetTaskById(taskId); var offering = _commonService.GetOfferings() .Where(x => x.Id == task.OFFERING_ID) .Select(x => x.Description) .FirstOrDefault(); var mailMessage = EmailHelper.ApplyFINotification( requestorName, $"{user.FirstName}{Constants.Space}{user.LastName}", task.TASK_NAME, task.DETAILS, task.HOURS.ToString(), task.ONBOARDING_DATE.Value.ToShortDateString(), requestor, user.EmailId, offering); var emailTracker = new EmailTracker { ToAddresses = requestor, Subject = mailMessage.Subject, Body = mailMessage.Body, TaskId = taskId, Source = ApplicationSource.WebApp.ToString() }; if (user.EmailId != null) { emailTracker.CcAddresses.Add(user.EmailId); } _emailTrackerService.InsertEmail(emailTracker); } return(result); } catch (Exception ex) { var logDetails = new DCode.Models.Common.Log { Description = ex.Message, Details = ex.ToString() }; _commonService.LogToDatabase(logDetails); return(-1); } }
public int ApplyForTask(taskapplicant taskApplicant) { var result = Context.Set <taskapplicant>().Add(taskApplicant); return(Context.SaveChanges()); }