public EmailTemplateBusinessLogic() : base(new Data.EmailTemplateData()) { _EmailTemplateData = new Data.EmailTemplateData(); _LogData = new Data.LogData(); _Email = new Common.Email(); _Email.Log += _Email_Log; }
//User Forgot Password - loginId public void ForgotPassword(string loginId) { try { var vList = GetUserByLoginId(loginId); if (vList == null) { throw new UserNotFoundException("User Not Found"); } string strToken_No = tokenService.GenerateToken(); string strLink = PasswordResetLink + "Login_Id=" + vList.Login_Id + "&Token_No=" + strToken_No; userPasswordResetRepository.Insert(vList.User_Id, strLink, strToken_No); #region Sent link to User Common.Email vEmailConfiguration = new Common.Email(adbContext); var usermodel = vEmailConfiguration.GetEmailBody(vList.Email, String.Empty, String.Empty, "Reset Password Link", "Please find below link for your reset password " + strLink); vEmailConfiguration.SendEmail(usermodel, vEmailConfiguration.GetEmailConfiguration(vList.Company_Id)); #endregion } catch (Exception ex) { throw ex; } }
public bool GenerateAndSendOTP(int userID) { _context = new MIDASGBXEntities(); Repository.User user = _context.Users.Where(u => u.id == userID).FirstOrDefault(); int defaultAdminUserID = Convert.ToInt32(Common.Utility.GetConfigValue("DefaultAdminUserID")); bool result = false; try { if (user != null) { var existingOTP = _context.OTPs.Where(p => p.UserID == userID).ToList(); existingOTP.ForEach(a => { a.IsDeleted = true; a.UpdateDate = DateTime.UtcNow; a.UpdateByUserID = defaultAdminUserID; }); } OTP otp = new OTP(); otp.OTPCode = Common.Utility.GenerateRandomNumber(6); otp.Pin = Common.Utility.GenerateRandomNo(); otp.UserID = user.id; otp.CreateDate = DateTime.UtcNow; otp.CreateByUserID = Convert.ToInt32(defaultAdminUserID); otp.IsDeleted = false; _context.OTPs.Add(otp); _context.SaveChanges(); string Message = "Dear " + user.FirstName + ",<br><br>As per your request, a One Time Password (OTP) has been generated and the same is <i><b>" + otp.OTPCode.ToString() + "</b></i><br><br>Please use this OTP to complete the Login. Reference number is " + otp.Pin.ToString() + " <br><br>*** This is an auto-generated email. Please do not reply to this email.*** <br><br>Thanks" + " <br><br>MIDAS Administrator"; Common.Email mail = new Common.Email(); mail.ToEmail = user.UserName; mail.Subject = "OTP Alert Message From GBX MIDAS"; mail.Body = Message; mail.SendMail(); result = true; } catch { result = false; } return(result); }
public async Task <bool> SendEmailAsync(Common.Email email) { try { var from = new EmailAddress(config.From, config.FromName); var to = new EmailAddress(email.To); var htmlContent = email.GetBodyHtml(); var plainTextContent = Regex.Replace(htmlContent, "<[^>]*>", ""); var msg = MailHelper.CreateSingleEmail(from, to, email.Subject, plainTextContent, htmlContent); var response = await client.SendEmailAsync(msg); return(true); } catch { return(false); } }
//User Forgot Password - loginId public void ForgotPassword(string loginId) { try { var vList = objUserService.GetUserByLoginId(loginId); if (vList != null) { vList.Password = objUser_PasswordRepo.GeneratePassword(EmailDefaultPassword); vList.PasswordExpiryDate = DateTime.Now.AddDays(PasswordExpiryDays); vList.UpdatedBy = vList.User_Id; vList.UpdatedOn = DateTime.Now; adbContext.users.Update(vList); adbContext.SaveChanges(); PasswordResetLink += EncryptLink(vList.Login_Id); Insert(vList.User_Id, PasswordResetLink); // remove and generate new token objTokenService.Add(new User_Token { User_Id = vList.User_Id }); #region Sent link to User Common.Email vEmailConfiguration = new Common.Email(adbContext); var usermodel = vEmailConfiguration.GetEmailBody(vList.Email, "*****@*****.**", "", "Reset Password Link", "Please find below link for your reset password " + PasswordResetLink); vEmailConfiguration.SendEmail(usermodel, vEmailConfiguration.GetEmailConfiguration(vList.Company_Id)); #endregion } } catch (Exception ex) { throw ex; } }