public async Task <IActionResult> UpdateAccount(int id, AccountForUpdateDTO accountForUpdate) { if (User.HasClaim(x => x.Type == ClaimTypes.NameIdentifier)) { var userId = User.FindFirst(ClaimTypes.NameIdentifier).Value; var account = await _repo.GetAccount(userId); if (account == null) { return(NotFound("User not found in database. Call GET /account/id to register")); } _mapper.Map(accountForUpdate, account); if (await _repo.SaveAll()) { return(NoContent()); } return(Ok("User already updated, no changes applied")); } else { return(Unauthorized("User lacks necessary credentials")); } }
public async Task <IActionResult> UpdateAccount(Guid accountId, [FromBody] AccountForUpdateDTO account) { var accountEntity = HttpContext.Items["account"] as Account; _mapper.Map(account, accountEntity); await _repository.SaveAsync(); return(NoContent()); }
public async Task <bool> UpdateAccount(int id, AccountForUpdateDTO accountForUpdateDTO) { var accountFromDb = await _userManager.FindByIdAsync(id.ToString()); if (accountFromDb == null) { return(false); } _mapper.Map(accountForUpdateDTO, accountFromDb); if (await _db.SaveChangesAsync() > 0) { return(true); } return(false); }
public async Task <IActionResult> UpdateAccountInfo(int id, AccountForUpdateDTO account) { if (id != int.Parse(User.FindFirst(ClaimTypes.NameIdentifier).Value)) { return(Unauthorized()); } var accountFromDb = await _repo.GetUser(id); if (accountFromDb == null) { return(NotFound()); } _mapper.Map(accountFromDb, account); if (await _repo.SaveAll()) { return(NoContent()); } throw new Exception("Error on updating account information"); }
public async Task <IActionResult> UpdateAccount(int accountId, [FromBody] AccountForUpdateDTO accountUpdate) { try { if (accountId != int.Parse(User.FindFirst(ClaimTypes.NameIdentifier).Value)) { return(Unauthorized()); } var result = await _repo.UpdateAccount(accountId, accountUpdate); if (result) { return(Ok()); } return(NoContent()); } catch (System.Exception e) { throw e; } }