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();
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 4
0
        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);
        }
Exemplo n.º 6
0
        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();
        }