public HttpResponseMessage RequestResetPasswordWithCode(ChnageUserPasswordModel usermodel) { if (string.IsNullOrEmpty(usermodel?.Code) || string.IsNullOrEmpty(usermodel.UserId) || string.IsNullOrEmpty(usermodel.Password)) { return(Request.CreateResponse(HttpStatusCode.OK, new ApiResponseModel { Success = false, Message = "Data not mapped", Data = usermodel })); } var user = UserServices.GetUserById(usermodel.UserId); if (user == null) { return(Request.CreateResponse(HttpStatusCode.OK, new ApiResponseModel { Success = false, Message = "User does not exist with UserId " + usermodel.UserId, Data = usermodel })); } var localUsermanager = Request.GetOwinContext().GetUserManager <ApplicationUserManager>(); var status = localUsermanager.ChangePhoneNumber(user.Id, user.Mobile, usermodel.Code); if (!status.Succeeded) { return(Request.CreateResponse(HttpStatusCode.OK, new ApiResponseModel { Success = false, Message = "Invalid/Expired verification code. Try new code", Data = usermodel })); } ApplicationUser appuser = localUsermanager.FindById(user.Id); appuser.PasswordHash = localUsermanager.PasswordHasher.HashPassword(usermodel.Password); var result = localUsermanager.Update(appuser); if (!result.Succeeded) { return(Request.CreateResponse(HttpStatusCode.OK, new ApiResponseModel { Success = false, Message = "Failed to update password", Data = usermodel })); } return(Request.CreateResponse(HttpStatusCode.OK, new ApiResponseModel { Success = true, Message = "Password reset successfully", Data = usermodel })); }
public JsonResult ResetUserPasswordAjax(ChnageUserPasswordModel model) { if (string.IsNullOrEmpty(model?.Code) || string.IsNullOrEmpty(model.UserId) || string.IsNullOrEmpty(model.Password)) { return(Json(new { status = false, message = "Bad Request" }, JsonRequestBehavior.AllowGet)); } var user = UserServices.GetUserById(model.UserId); var status = UserManager.ChangePhoneNumber(user.Id, user.Mobile, model.Code); if (!status.Succeeded) { return(Json(new { status = false, message = "Invalid/Expired verification code. Try new code" }, JsonRequestBehavior.AllowGet)); } var isPass = ChangePassword(new AdminModels.LocalUser { Id = user.Id, Password = model.Password }); return(Json(new { status = isPass, message = "success" }, JsonRequestBehavior.AllowGet)); }
public ActionResult ResetUserPassword(string PhoneNumber) { // mobile number PhoneNumber = PhoneNumber.Substring(1).Replace("-", ""); PhoneNumber = "92" + PhoneNumber; var user = UserServices.GetUserByPhone(PhoneNumber); if (user == null) { ModelState.AddModelError("", "Invalid Phone number or user does not exist"); return(RedirectToAction("Login", "Account")); } GeneratePhoneCode(user.Id, user.Mobile); var model = new ChnageUserPasswordModel { UserId = user.Id, Phone = user.Mobile }; return(View(model)); }
public HttpResponseMessage RequestResetPassword(ApiRequestModel usermodel) { if (usermodel == null || string.IsNullOrEmpty(usermodel.PhoneNumber)) { return(Request.CreateResponse(HttpStatusCode.OK, new ApiResponseModel { Success = false, Message = "Data not mapped", Data = usermodel })); } usermodel.PhoneNumber = usermodel.PhoneNumber.Substring(1).Replace("-", ""); usermodel.PhoneNumber = "92" + usermodel.PhoneNumber; var user = UserServices.GetUserByPhone(usermodel.PhoneNumber); if (user == null) { return(Request.CreateResponse(HttpStatusCode.OK, new ApiResponseModel { Success = false, Message = "Invalid Phone number or user does not exist", Data = usermodel })); } GeneratePhoneCodeApiMethod(user.Id, user.Mobile); var model = new ChnageUserPasswordModel { UserId = user.Id, Phone = user.Mobile }; return(Request.CreateResponse(HttpStatusCode.OK, new ApiResponseModel { Success = true, Message = "Verification Code has been sent at " + usermodel.PhoneNumber, Data = model })); }