public async Task <IActionResult> ResetPassword(ResetPasswordModel input) { if (ModelState.IsValid) { HttpResponseMessage httpResponseMessage = await HttpClientRequest.PostAsync(ApiEndpoints.ResetPassword, ConstructResetPasswordParams(input)); if (httpResponseMessage.StatusCode == HttpStatusCode.OK) { ResetPasswordResponseModel responseModel = JsonConvert.DeserializeObject <ResetPasswordResponseModel>( await httpResponseMessage.Content.ReadAsStringAsync()); if (responseModel.code == RESET_PASSWORD_API_SUCCESS_CODE) { return(RedirectToAction("Index", "Form", new { area = "Login" })); } else { return(HandleResetPasswordFailAction(responseModel.code, input)); } } else { return(View(input)); } } else { return(View(input)); } }
public ResetPasswordResponseModel ResetPassword(ResetPasswordRequestModel RPRM) { ResetPasswordResponseModel rprm = new ResetPasswordResponseModel(); try { if (RPRM.NewPassword != RPRM.ConfirmPassword) { rprm.Response.Message = "New Password not matched with confirm password!"; rprm.Response.StatusCode = 400; } else if (RPRM.NewPassword == RPRM.ConfirmPassword) { var GetUserInfo = _ObjDBContext.Users.Where(s => s.Otp == RPRM.OTP).FirstOrDefault(); if (GetUserInfo != null) { GetUserInfo.SecurityStamp = HashHelper.GetPasswordSalt(); GetUserInfo.PasswordHash = HashHelper.GetPasswordHash(GetUserInfo.SecurityStamp, RPRM.NewPassword); _ObjDBContext.Entry(GetUserInfo).State = EntityState.Modified; _ObjDBContext.SaveChanges(); rprm.Response.Message = "Password is changed Successfully !"; rprm.Response.StatusCode = 200; } else { rprm.Response.Message = "Wrong OTP"; rprm.Response.StatusCode = 401; } } } catch (Exception ex) { rprm.Response.Message = Convert.ToString(ex); rprm.Response.StatusCode = 400; } return(rprm); }