public async Task <ApiResult> UpdateAccountAsync(AccountUpdateData accountUpdateData) { var result = default(ApiResult); var id = accountUpdateData.User.Id; var user = await users.GetByIdAsync(id); if (user == null) { var message = "User was not found"; var loggerMessage = $"User id = {id} was not found"; var errors = new string[] { message }; result = ApiResult.GetErrorResult(ApiResultStatus.NotFound, loggerMessage, message, errors); } else { if (accountUpdateData.IsEmailChanged) { await SendConfirmUpdateEmailMessageAsync(user, accountUpdateData.User.Email); } if (accountUpdateData.AnyFieldChanged) { var newUser = mapperWrapper.MapEntity(accountUpdateData.User); //user = UpdateHelper<SystemUser>.Update(context.Model, user, newUser); user = await users.UpdateAsync(user, newUser); //await context.SaveChangesAsync(); } var data = await GetAccountData(user); result = ApiResult.GetOkResult(ApiResultStatus.Ok, data: data); } return(result); }
public async Task <IActionResult> UpdateAccount([FromBody] AccountUpdateData accountUpdateData) { var result = await accountService.UpdateAccountAsync(accountUpdateData); return(this.GetActionResult(result, logger)); }