public async Task <IHttpActionResult> PutUserEdit(int id, ServicesVzLaUserEdit _userEdit) { try { if (!ModelState.IsValid) { ModelState.AddModelError(string.Empty, "Error: UserEdit is not valid...!!!"); return(BadRequest("Error: UserEdit is not valid...!!!")); } if (id != _userEdit.UserId) { ModelState.AddModelError(string.Empty, "Error: id is no equal to UserEditId, is not valid...!!!"); return(BadRequest("Error: id is no equal to UserEditId, is not valid...!!!")); } // Find if exist the user by email var userEdit = await db.Users .Where(us => us.Email == _userEdit.NewEmail && us.UserId != id) .FirstOrDefaultAsync(); if (userEdit != null) { ModelState.AddModelError( string.Empty, string.Format( "This email: {0} is already registered, you must try another ... !!!", _userEdit.NewEmail)); return(BadRequest(string.Format( "This email: {0} is already registered, you must try another ... !!!", _userEdit.NewEmail))); } userEdit = await db.Users.FindAsync(id); if (userEdit != null) { userEdit.Email = _userEdit.NewEmail; db.Entry(userEdit).State = EntityState.Modified; response = await DbHelper.SaveChangeDB(db); if (response.IsSuccess) { if (await UsersHelper.UpdateUserName(_userEdit.Email, _userEdit.NewEmail)) { return(Ok("Information: Successfully updated registration...!!!")); } else { ModelState.AddModelError( string.Empty, string.Format( "Error Updating the email: {0} to the email {1}...!!!", _userEdit.Email, _userEdit.NewEmail)); return(BadRequest(string.Format( "Error Updating the email: {0} to the email {1}...!!!", _userEdit.Email, _userEdit.NewEmail))); } } else { ModelState.AddModelError(string.Empty, response.Message); return(BadRequest(response.Message)); } } else { ModelState.AddModelError( string.Empty, string.Format( "This email: {0} is not registered... !!!", _userEdit.Email)); return(BadRequest(string.Format( "This email: {0} is not registered... !!!", _userEdit.Email))); } } catch (Exception ex) { ModelState.AddModelError(string.Empty, ex.Message); return(BadRequest(ex.Message)); } }
public async Task <IHttpActionResult> EditPassword(ServicesVzLaUserEdit _user) { // var errorMessages = string.Empty; errorMessages = string.Empty; try { var email = string.Empty; var currentPassword = string.Empty; var newPassword = string.Empty; // dynamic jsonObject = _user; if (!ModelState.IsValid) { // Gets error of the ModelState errorMessages = "Error: the UserEdit is not valid...!!!" + System.Char.ConvertFromUtf32(13); errorMessages += MethodsHelper.GetErrorsModelState(ModelState); ModelState.AddModelError(string.Empty, errorMessages); return(BadRequest(errorMessages)); } // email = jsonObject.Email.Value; // currentPassword = jsonObject.CurrentPassword.Value; // newPassword = jsonObject.NewPassword.Value; email = _user.Email; currentPassword = _user.Password; newPassword = _user.NewPassword; var userContext = new ApplicationDbContext(); var userManager = new UserManager <ApplicationUser>(new UserStore <ApplicationUser>(userContext)); var userASP = userManager.FindByEmail(email); if (userASP == null) { // return NotFound(); ModelState.AddModelError(string.Empty, "Error: UserASP (By Email) is null...!!!"); return(BadRequest("Error: UserASP (By Email) is null...!!!")); } var response = await userManager.ChangePasswordAsync( userASP.Id, currentPassword, newPassword); if (!response.Succeeded) { errorMessages = "Error: " + System.Char.ConvertFromUtf32(13); errorMessages += response.Errors.FirstOrDefault(); ModelState.AddModelError(string.Empty, errorMessages); return(BadRequest(response.Errors.FirstOrDefault())); } return(Ok(true)); } catch (Exception ex) { errorMessages = string.Format("Error: {0}", ex.Message); // return BadRequest("Incorrect call"); return(BadRequest(errorMessages)); } }