public User CreateUserEditPasswordEntity(UserEditPasswordDTO userDTO) { return(new User() { Id = userDTO.Id, Password = userDTO.NewPassword, Username = userDTO.OldPassword //Username holds old password. }); }
public async Task <ActionResult> EditUserPassword(UserEditPasswordDTO model) { ClaimsIdentity identity = (ClaimsIdentity)User.Identity; if (!ModelState.IsValid) { TempData["ViewData"] = ViewData; return(RedirectToAction("Detail", "User", new { id = int.Parse(identity.FindFirst(ClaimTypes.NameIdentifier).Value) })); } UserEditPasswordDTO userToEdit = new UserEditPasswordDTO(); userToEdit.OldPassword = model.OldPassword; userToEdit.NewPassword = model.NewPassword; userToEdit.ConfirmNewPassword = model.ConfirmNewPassword; userToEdit.Id = int.Parse(identity.FindFirst(ClaimTypes.NameIdentifier).Value); string content = JsonConvert.SerializeObject(userToEdit); Byte[] buffer = System.Text.Encoding.UTF8.GetBytes(content); ByteArrayContent byteContent = new ByteArrayContent(buffer); byteContent.Headers.ContentType = new MediaTypeHeaderValue("application/json"); HttpResponseMessage result = await client.PostAsync(apiUrl + "/EditUserPassword", byteContent); if (result.StatusCode == HttpStatusCode.Conflict) { return(View("Error")); } if (result.StatusCode == HttpStatusCode.OK) { HttpContext.GetOwinContext().Authentication.SignOut(DefaultAuthenticationTypes.ApplicationCookie); TempData["PasswordChanged"] = "true"; return(RedirectToAction("Login", "Account")); } if (result.StatusCode == HttpStatusCode.Unauthorized) { return(View("Unauthorised")); } else { return(View("Error")); } }
public HttpResponseMessage EditUserPassword(UserEditPasswordDTO userDTO) { User userToEdit = mapper.CreateUserEditPasswordEntity(userDTO); bool passwordCheck = userRepo.CheckPassword(userToEdit); if (passwordCheck == true) { if (userToEdit.Id == 0) { return(Request.CreateResponse(HttpStatusCode.Conflict)); } else { userRepo.EditUserPassword(userToEdit); return(Request.CreateResponse(HttpStatusCode.OK)); } } else { return(Request.CreateResponse(HttpStatusCode.Unauthorized)); } }