public async Task <IActionResult> SendResetPasswordEmail([FromBody] ForgetPasswordRequestModel objModel) { JsonResponse <User> objResultList = new JsonResponse <User>(); if (objModel != null) { try { bool matched = await this.authService.MatchSecretKey(objModel.SecretKey); if (!matched) { objResultList.Data = null; objResultList.Status = StaticResource.UnauthorizedStatusCode; objResultList.Message = StaticResource.UnauthorizedMessage; return(new OkObjectResult(objResultList)); } User response = await this.authService.ResetPassword(objModel); switch (response.Status) { case 1: objResultList.Data = null; objResultList.Status = StaticResource.SuccessStatusCode; objResultList.Message = StaticResource.EmailSent; break; case 0: objResultList.Data = null; objResultList.Status = StaticResource.NotFoundStatusCode; objResultList.Message = StaticResource.EmailNotExist; break; default: objResultList.Data = null; objResultList.Status = StaticResource.NotFoundStatusCode; objResultList.Message = StaticResource.NotFoundMessage; break; } } catch (Exception ex) { HttpContext.RiseError(ex); objResultList.Data = null; objResultList.Status = StaticResource.FailStatusCode; objResultList.Message = StaticResource.FailMessage; throw; } } else { objResultList.Data = null; objResultList.Status = StaticResource.FailStatusCode; objResultList.Message = StaticResource.FailMessage; } return(new OkObjectResult(objResultList)); }
public ActionResult ForgetPasswordRequest() { //var UserName = UserAccountHelper.GetUser(HttpContext.User.Identity.Name).UserName; // userService.ResetPassword(UserName); var model = new ForgetPasswordRequestModel(); return(View(model)); // return RedirectToAction("Index"); }
public async Task <User> ResendEmailToUser(ForgetPasswordRequestModel obj_ForgetPasswordRequestModel, HttpContext context) { try { var result = await commonEmailsService.ResendEmailToUser(obj_ForgetPasswordRequestModel, context); return(result); } catch (Exception ex) { throw ex; } }
public async Task <User> SendRestPasswordEmailByAdmin(ForgetPasswordRequestModel obj_ForgetPasswordRequestModel, HttpContext context) { try { var result = await commonEmailsService.SendRestPasswordEmailByAdmin(obj_ForgetPasswordRequestModel.EmailId, obj_ForgetPasswordRequestModel.UserId, context); return(result); } catch (Exception ex) { throw ex; } }
/// <summary> /// Send Reset password Email to user /// </summary> /// <param name="obj_ForgetPasswordRequestModel"></param> /// <returns></returns> public async Task <User> ResetPassword(ForgetPasswordRequestModel obj_ForgetPasswordRequestModel) { try { var result = await commonEmailsService.SendRestPasswordEmail(obj_ForgetPasswordRequestModel.EmailId); return(result); } catch (Exception ex) { throw ex; } }
public async Task <User> ResendEmailToUser(ForgetPasswordRequestModel forgetPasswordModel, HttpContext context) { string strEmailSubject = string.Empty; User obj = new User(); strEmailSubject = _iconfiguration.GetValue <string>("AuthMessageSenderOptions:WelcomeEmail"); var homeUrl = _iconfiguration.GetValue <string>("AuthMessageSenderOptions:StaggingUrl"); try { var emailHtml = ""; string directory = $"{Directory.GetCurrentDirectory()}{@"\wwwroot"}"; if (forgetPasswordModel.TemplateID == 1) { emailHtml = System.IO.File.ReadAllText(directory + "/Templates/Welcome_Super_Admin.html"); // } else if (forgetPasswordModel.TemplateID == 2) { emailHtml = System.IO.File.ReadAllText(directory + "/Templates/WelcomeEmail_Member.html"); } else { emailHtml = System.IO.File.ReadAllText(directory + "/Templates/WelcomeEmail_Practioner.html"); } string logoPath = context.Request.Scheme + "://" + context.Request.Host + context.Request.PathBase + "//images//sessionsLogoBlack.png"; string newsletter = context.Request.Scheme + "://" + context.Request.Host + context.Request.PathBase + "//images//newsletter.png"; emailHtml = emailHtml.Replace("{{HOME}}", homeUrl); emailHtml = emailHtml.Replace("{{logo}}", logoPath); emailHtml = emailHtml.Replace("{{newsletter}}", newsletter); await _iEmailSenderService.SendEmailAsync(_iconfiguration.GetValue <string>("AuthMessageSenderOptions:SendGridEmail"), forgetPasswordModel.EmailId, strEmailSubject, emailHtml); obj.Status = 1; return(obj); } catch (Exception ex) { throw; } }
public async Task <IActionResult> ResendEmailToUsers([FromBody] ForgetPasswordRequestModel objModel) { JsonResponse <User> objResultList = new JsonResponse <User>(); HttpContext context = HttpContext; try { User response = await this.authService.ResendEmailToUser(objModel, context); switch (response.Status) { case 1: objResultList.Data = null; objResultList.Status = StaticResource.SuccessStatusCode; objResultList.Message = StaticResource.EmailSent; break; case 0: objResultList.Data = null; objResultList.Status = StaticResource.NotFoundStatusCode; objResultList.Message = StaticResource.EmailNotExist; break; default: objResultList.Data = null; objResultList.Status = StaticResource.NotFoundStatusCode; objResultList.Message = StaticResource.NotFoundMessage; break; } } catch (Exception ex) { HttpContext.RiseError(ex); objResultList.Data = null; objResultList.Status = StaticResource.FailStatusCode; objResultList.Message = StaticResource.FailMessage;; } return(new OkObjectResult(objResultList)); }
public async Task <IHttpActionResult> ForgetPassword(ForgetPasswordRequestModel model) { if (!ModelState.IsValid) { return(BadRequest("Your request is not valid.")); } var isEmailExist = _userService.IsEmailExist(model.Email); if (!isEmailExist) { return(BadRequest(model.Email + " email does not exist.")); } var user = await _userService.FindByEmailAsync(model.Email); if (user != null && !user.IsActive) { return(BadRequest("User is not active. Failed to send password reset link.")); } await _userService.SendPasswordResetLinkAsync(model.Email); return(Ok(true)); }
public ForgetPasswordResponseModel ForgetPassword(ForgetPasswordRequestModel model) { ForgetPasswordResponseModel FPRM = new ForgetPasswordResponseModel(); try { Users UserValidEmailId = _ObjDBContext.Users.FirstOrDefault(u => u.Email.ToLower() == model.EmailId.ToLower() && u.IsActive == true && u.IsDeleted == false); Users UserValidMobileNum = _ObjDBContext.Users.FirstOrDefault(u => u.MobilePhoneNumber.ToLower() == model.MobileNum.ToLower() && u.IsActive == true && u.IsDeleted == false); Random _random = new Random(); string otp = _random.Next(0, 999999).ToString("D6"); if (UserValidEmailId != null) { var UpdateOTPEmail = _ObjDBContext.Users.Where(s => s.Email == model.EmailId).FirstOrDefault(); if (UpdateOTPEmail != null) { UpdateOTPEmail.Otp = otp; _ObjDBContext.Entry(UpdateOTPEmail).State = EntityState.Modified; _ObjDBContext.SaveChanges(); } SendEmailRequestModel SERM = new SendEmailRequestModel(); SERM.CustomerName = UserValidEmailId.FirstName; SERM.FileAttachmentURL = ""; SERM.MessageBody = "Hi " + UserValidEmailId.FirstName + " Please Use " + otp + " as OTP for Change password!"; SERM.Subject = "Squeeze Bill Forget Password"; SERM.ToEmailId = UserValidEmailId.Email; EmailService ES = new EmailService(); string EmailService = ES.SendEmail(SERM); FPRM.Response.Message = "Please check your Email Inbox for change password !"; FPRM.Response.StatusCode = 200; } else if (UserValidEmailId == null) { FPRM.Response.Message = model.EmailId + " Invalid"; FPRM.Response.StatusCode = 201; } else if (UserValidMobileNum != null) { var UpdateOTPMobile = _ObjDBContext.Users.Where(s => s.MobilePhoneNumber == model.MobileNum).FirstOrDefault(); if (UpdateOTPMobile != null) { UpdateOTPMobile.Otp = otp; _ObjDBContext.Entry(UpdateOTPMobile).State = EntityState.Modified; _ObjDBContext.SaveChanges(); } SendSMSRequestModel SSRM = new SendSMSRequestModel(); SSRM.CustomerName = UserValidEmailId.FirstName; SSRM.MessageBody = "Hi " + UserValidEmailId.FirstName + " Please Use " + otp + " as OTP for Change password!"; SSRM.ToMobileNum = UserValidEmailId.MobilePhoneCountryCode + " " + UserValidEmailId.MobilePhoneNumber; SMSService SS = new SMSService(); string SMSService = SS.SendSMS(SSRM); FPRM.Response.Message = "Please check your Mobile Message for change password !"; FPRM.Response.StatusCode = 200; } else if (UserValidMobileNum == null) { FPRM.Response.Message = model.MobileNum + " Invalid"; FPRM.Response.StatusCode = 201; } } catch (Exception ex) { _log.LogInformation("UnExpected"); FPRM.Response.Message = Convert.ToString(ex); FPRM.Response.StatusCode = 401; } return(FPRM); }
public ForgetPasswordResponseModel ForgetPassword([FromBody] ForgetPasswordRequestModel model) { return(_ObjILogin.ForgetPassword(model)); }
public ActionResult ForgetPasswordRequest(ForgetPasswordRequestModel model) { if (ModelState.IsValid) { var user = _userAccountService.GetUserDetail(model.UserName); if (user != null) { var forgetPasswordRequest = new ForgetPasswordRequest() { Completed = false, ExpieryDate = DateTime.Now.AddMonths(2), GeneratedDate = DateTime.Now, RequestKey = MD5Hashing.MD5Hash(Guid.NewGuid().ToString()), UserProfileID = user.UserProfileID //RequestKey = MD5Hashing.MD5Hash(Guid.NewGuid().ToString()), //UserAccountID = user.UserAccountId }; if (_forgetPasswordRequestService.AddForgetPasswordRequest(forgetPasswordRequest)) { string to = user.Email; string subject = "Password Change Request"; var callbackUrl = Url.Action("ForgetPassword", "Account", new { key = forgetPasswordRequest.RequestKey }, protocol: Request.Url.Scheme); //string link = "localhost:" + Request.Url.Port + "/Account/ForgetPassword/?key=" + forgetPasswordRequest.RequestKey; string body = string.Format(@"Dear {1} <br /><br /> A password reset request has been submitted for your Email account. If you submitted this password reset request, please follow the following link. <br /><br /> <a href='{0}'>Please Follow this Link</a> <br /> <br /><br /> Please ignore this message if the password request was not submitted by you. This request will expire in 24 hours. <br /><br /> Thank you,<br /> Administrator. ", callbackUrl, user.UserName); try { // Read the configuration table for smtp settings. string from = _settingService.GetSettingValue("SMTP_EMAIL_FROM"); string smtp = _settingService.GetSettingValue("SMTP_ADDRESS"); int port = Convert.ToInt32(_settingService.GetSettingValue("SMTP_PORT")); string userName = _settingService.GetSettingValue("SMTP_USER_NAME"); string password = _settingService.GetSettingValue("SMTP_PASSWORD"); // send the email using the utilty method in the shared dll. Cats.Helpers.SendMail mail = new Helpers.SendMail(from, to, subject, body, null, true, smtp, userName, password, port); ViewBag.ErrorMessage = "Email has been sent to your email Address."; TempData["ModelState"] = ViewBag.ErrorMessage; return(RedirectToAction("ConfirmPasswordChange")); } catch (Exception e) { ViewBag.ErrorMessage = "The user name or email address you provided is not correct. Please try again."; } } ViewBag.ErrorMessage = "Internal Error...."; } ViewBag.ErrorMessage = "Invalid User Name " + model.UserName; } return(View()); }