private async Task SendCovidEmail(CovidHealthTrackViewModel covidHealthTrackViewModel) { var appEmailHelper = new AppEmailHelper(); var hrEmployeeList = await _employeeRepository.GetEmployeeDetailsByRole(EmployeeRolesEnum.HRManager.ToString()); if (hrEmployeeList.Count > 0) { foreach (var hrEmployee in hrEmployeeList) { appEmailHelper.ToMailAddresses.Add(new MailAddress(hrEmployee.Email, hrEmployee.Name)); } } // appEmailHelper.ToMailAddresses.Add(new MailAddress(hrEmployee.Email, hrEmployee.Name)); // appEmailHelper.CCMailAddresses.Add(new MailAddress(securityEmp.Email, securityEmp.Name)); appEmailHelper.MailTemplate = MailTemplate.EmployeeCovidDeclaration; appEmailHelper.Subject = "Covid declaration submission"; CovidHealthTrackViewModel emailVm = new CovidHealthTrackViewModel(); emailVm.MapFromViewModel(covidHealthTrackViewModel); appEmailHelper.MailBodyViewModel = emailVm; await appEmailHelper.InitMailMessage(); }
private async Task <IResult> SendForgotPasswordEmail(Employee emp) { var result = new Result { Operation = Operation.SendEmail, Status = Status.Success, StatusCode = HttpStatusCode.OK }; try { appEmailHelper = new AppEmailHelper(); appEmailHelper.ToMailAddresses.Add(new MailAddress(emp.Email, emp.Name)); appEmailHelper.MailTemplate = MailTemplate.PasswordReset; EmployeePasswordResetEmailViewModel emailVm = new EmployeePasswordResetEmailViewModel(); emailVm.Name = emp.Name; string password = GeneratePassword(); emailVm.Password = password; appEmailHelper.Subject = "New Password"; appEmailHelper.MailBodyViewModel = emailVm; await appEmailHelper.InitMailMessage(); result.Message = "Password has been sent to your email."; } catch (Exception e) { result.Message = e.Message; result.Status = Status.Error; result.StatusCode = HttpStatusCode.InternalServerError; } return(result); }
private async Task <string> SendRequestEmail(ComeToOfficeRequestViewModel requestViewModel, MailTemplate mailTemplate) { string message = ""; try { appEmailHelper = new AppEmailHelper(); var hrEmployeeList = await _employeeRepository.GetEmployeeDetailsByRole(EmployeeRolesEnum.HRManager.ToString()); if (hrEmployeeList.Count > 0) { foreach (var hrEmployee in hrEmployeeList) { appEmailHelper.ToMailAddresses.Add(new MailAddress(hrEmployee.Email, hrEmployee.Name)); } } appEmailHelper.CCMailAddresses.Add(new MailAddress(requestViewModel.Employee.Email, requestViewModel.Employee.Name)); appEmailHelper.MailTemplate = mailTemplate; appEmailHelper.Subject = "Request for attending Office"; ComeToOfficeRequestEmailViewModel emailVm = new ComeToOfficeRequestEmailViewModel(); emailVm.MapFromViewModel(requestViewModel); emailVm.LinkUrl = $"{ _configuration["AppUrl"]}requests"; emailVm.HRName = "HR"; appEmailHelper.MailBodyViewModel = emailVm; await appEmailHelper.InitMailMessage(); } catch (Exception e) { message = e.Message; } return(message); }
private async Task <IResult> SendAccountStatusEmail(EmployeeViewModel empViewModel, MailTemplate mailTemplate) { var result = new Result { Operation = Operation.SendEmail, Status = Status.Success, StatusCode = HttpStatusCode.OK }; try { appEmailHelper = new AppEmailHelper(); var activeUserEmailId = ((ClaimsIdentity)_principal.Identity).GetActiveUserEmailId(); var activeUserName = ((ClaimsIdentity)_principal.Identity).GetActiveUserName(); if (!string.IsNullOrEmpty(activeUserEmailId)) { appEmailHelper.FromMailAddress = new MailAddress(activeUserEmailId, activeUserName ?? "HR"); } appEmailHelper.ToMailAddresses.Add(new MailAddress(empViewModel.Email, empViewModel.Name)); appEmailHelper.MailTemplate = mailTemplate; EmployeeRegisterationEmailViewModel emailVm = new EmployeeRegisterationEmailViewModel(); emailVm.MapFromViewModel(empViewModel); if (empViewModel.Status == EntityStatus.Accept) { appEmailHelper.Subject = "Account confirmation"; } else if (empViewModel.Status == EntityStatus.Deny) { appEmailHelper.Subject = "Account not confirmed"; } emailVm.LinkUrl = $"{ _configuration["AppUrl"]}login"; emailVm.HRName = activeUserName ?? "HR"; appEmailHelper.MailBodyViewModel = emailVm; await appEmailHelper.InitMailMessage(); } catch (Exception e) { result.Message = e.Message; result.Status = Status.Error; result.StatusCode = HttpStatusCode.InternalServerError; } return(result); }
/// <summary> /// /// </summary> /// <param name="requestViewModel"></param> /// <param name="mailTemplate"></param> private async Task <string> SendResponseEmail(ComeToOfficeRequestViewModel requestViewModel, MailTemplate mailTemplate) { string message = ""; try { appEmailHelper = new AppEmailHelper(); var activeUserEmailId = ((ClaimsIdentity)_principal.Identity).GetActiveUserEmailId(); var activeUserName = ((ClaimsIdentity)_principal.Identity).GetActiveUserName(); if (!string.IsNullOrEmpty(activeUserEmailId)) { appEmailHelper.FromMailAddress = new MailAddress(activeUserEmailId, activeUserName ?? "HR"); } appEmailHelper.ToMailAddresses.Add(new MailAddress(requestViewModel.Employee.Email, requestViewModel.Employee.Name)); appEmailHelper.MailTemplate = mailTemplate; ComeToOfficeRequestEmailViewModel emailVm = new ComeToOfficeRequestEmailViewModel(); emailVm.MapFromViewModel(requestViewModel); if (requestViewModel.IsApproved) { emailVm.Status = "Approved"; appEmailHelper.Subject = "Your request is approved by HR"; } else if (requestViewModel.IsDeclined) { emailVm.Status = "Declined"; appEmailHelper.Subject = "Your request is declined by HR"; } emailVm.LinkUrl = $"{ _configuration["AppUrl"]}declaration/{requestViewModel.RequestNumber}"; emailVm.HRName = activeUserName ?? "HR"; appEmailHelper.MailBodyViewModel = emailVm; await appEmailHelper.InitMailMessage(); } catch (Exception e) { message = e.Message; } return(message); }
private async Task <IResult> SendRegisterationRequestEmail(EmployeeViewModel empViewModel) { var result = new Result { Operation = Operation.SendEmail, Status = Status.Success, StatusCode = HttpStatusCode.OK }; try { appEmailHelper = new AppEmailHelper(); var hrEmployeeList = await _employeeRepository.GetEmployeeDetailsByRole(EmployeeRolesEnum.HRManager.ToString()); if (hrEmployeeList.Count > 0) { foreach (var hrEmployee in hrEmployeeList) { appEmailHelper.ToMailAddresses.Add(new MailAddress(hrEmployee.Email, hrEmployee.Name)); } } appEmailHelper.CCMailAddresses.Add(new MailAddress(empViewModel.Email, empViewModel.Name)); appEmailHelper.MailTemplate = MailTemplate.UserRegisterationRequest; appEmailHelper.Subject = "Request for Registeration"; EmployeeRegisterationEmailViewModel emailVm = new EmployeeRegisterationEmailViewModel(); emailVm.MapFromViewModel(empViewModel); emailVm.LinkUrl = $"{ _configuration["AppUrl"]}users"; emailVm.HRName = ""; appEmailHelper.MailBodyViewModel = emailVm; await appEmailHelper.InitMailMessage(); } catch (Exception e) { result.Message = e.Message; result.Status = Status.Error; result.StatusCode = HttpStatusCode.InternalServerError; } return(result); }
private async Task SendEmail(HealthTrackViewModel healthViewModel) { var appEmailHelper = new AppEmailHelper(); var hrEmployeeList = await _employeeRepository.GetEmployeeDetailsByRole(EmployeeRolesEnum.HRManager.ToString()); if (hrEmployeeList.Count > 0) { foreach (var hrEmployee in hrEmployeeList) { appEmailHelper.ToMailAddresses.Add(new MailAddress(hrEmployee.Email, hrEmployee.Name)); } } // send to security as well var securityEmpList = await _employeeRepository.GetEmployeeDetailsByRole(EmployeeRolesEnum.SecurityManager.ToString()); if (securityEmpList.Count > 0) { foreach (var securityEmp in securityEmpList) { appEmailHelper.ToMailAddresses.Add(new MailAddress(securityEmp.Email, securityEmp.Name)); } } // appEmailHelper.ToMailAddresses.Add(new MailAddress(hrEmployee.Email, hrEmployee.Name)); // appEmailHelper.CCMailAddresses.Add(new MailAddress(securityEmp.Email, securityEmp.Name)); appEmailHelper.MailTemplate = MailTemplate.EmployeeDeclaration; appEmailHelper.Subject = "Self declaration submission"; HealthTrackEmailViewModel emailVm = new HealthTrackEmailViewModel(); emailVm.MapFromViewModel(healthViewModel); emailVm.LinkUrl = $"{ _configuration["AppUrl"]}declaration/{healthViewModel.RequestNumber}/{healthViewModel.EmployeeId}"; appEmailHelper.MailBodyViewModel = emailVm; await appEmailHelper.InitMailMessage(); }