public IHttpActionResult PutUserAccounts(UpdateAccountDTO updateAccount) // UPDATE USER ACCOUNT { TextResult httpResponse = new TextResult("Account has been updated!", msg); // Http response if (!ModelState.IsValid) { return(BadRequest(ModelState)); } UserAccountsManager umgr = new UserAccountsManager(); UserAccounts updatedUserAcc = umgr.UpdateAccountDetails(updateAccount); // Function to update account details if (updatedUserAcc is null) { httpResponse.ChangeHTTPMessage("Failed to update account!", msg); // Http response if user entity is null return(httpResponse); } bool entityIsUpdated = umgr.UpdateEntityInDb(updatedUserAcc); // Updating entity in DB if (entityIsUpdated.Equals(true)) { return(httpResponse); } httpResponse.ChangeHTTPMessage("Failed to update account!", msg); return(httpResponse); }
public async Task <IActionResult> UpdatePassword([FromBody] UpdateAccountDTO model) { string CurrentUsername = model.CurrentUsername.ToUpper(); string CurrentPassword = model.CurrentPassword.ToUpper(); string CurrentPasswordHash = CalculateShaPassHash(CurrentUsername, CurrentPassword); var user = await _authContext.Account.FirstOrDefaultAsync(acc => acc.Username == model.CurrentUsername && acc.ShaPassHash == CurrentPasswordHash); if (user == null) { return(RequestHandler.BadRequest("Current Password is incorrect. Authentication failed.")); } // Need to change the password as username is used in the hash string NewPassword = model.NewPassword.ToUpper(); string NewPasswordHash = CalculateShaPassHash(CurrentUsername, NewPassword); user.ShaPassHash = NewPasswordHash; user.V = ""; user.S = ""; _authContext.Account.Update(user); await _authContext.SaveChangesAsync(); return(Ok(user.Username)); }
public async Task <ActionResult <UpdateAccountResponse> > Put([FromHeader] string client, [FromRoute] string id, [FromBody] UpdateAccountRequest request) { UpdateAccountResponse response = new UpdateAccountResponse(); string responseCode = $"UPDATE_{client}_{id}"; try { var factory = WalletFactory.Instance.GetAccount(_configuration, true); var account = await factory.UpdateGiftcard(client, id, request.CPF); var dto = new UpdateAccountDTO { AccountID = account.AccountID }; response.StatusCode = "200"; response.Data = dto; return(Ok(response)); } catch (Exception ex) { response.StatusCode = "500"; response.Messages.Add(ResponseMessage.Create(ex, responseCode)); return(StatusCode(500, response)); } }
public async Task <IActionResult> PatchAsync([FromBody] UpdateAccountDTO model) { var username = User.Claims.Where(c => c.Type == "username").First().Value; await _accountService.UpdateAccountAsync(username, model); var result = await _accountService.GetAccountByUsernameAsync(username); return(Ok(result)); }
public async Task UpdateAccountAsync(string username, UpdateAccountDTO model) { var user = await _dbContext.Users.SingleAsync(x => x.NormalizedUserName == username.ToUpper()); user.FirstName = model.FirstName; user.LastName = model.LastName; user.Sex = string.IsNullOrWhiteSpace(model.Sex) ? null : model.Sex.First().ToString().ToUpper(); await _dbContext.SaveChangesAsync(); }
public UserAccounts UpdateAccountDetails(UpdateAccountDTO userAccInput) // update account details { UserAccounts dbUpdatedAcc = GetUserAccountByName(userAccInput.AccountName); // gets user entity with account name if (dbUpdatedAcc is null) { return(dbUpdatedAcc); } dbUpdatedAcc.customerName = userAccInput.CustomerName; // Uppdates customer name dbUpdatedAcc.phoneNumber = userAccInput.PhoneNumber; // Updates phonenumber return(dbUpdatedAcc); }
public async Task <IActionResult> Update([FromBody] UpdateAccountDTO model) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } String userName = User.FindFirst(ClaimTypes.NameIdentifier).Value; var userIdentity = await _userManager.FindByNameAsync(userName); if (userIdentity == null) { return(BadRequest(Errors.AddErrorToModelState("login_failure", "Login please", ModelState))); } userIdentity.FirstName = model.FirstName; userIdentity.LastName = model.LastName; var result = await _userManager.UpdateAsync(userIdentity); if (result.Succeeded) { return(new OkObjectResult("Account seccessfully updated!")); } return(new BadRequestObjectResult(Errors.AddErrorsToModelState(result, ModelState))); }