public async Task <ShoppingUserSettingsModel> UpdateUserSettingsAsync(string userId, ShoppingUserSettingsModel settingsData) { var dbUser = await _userManager.FindByIdAsync(userId); ShoppingUserSettingsModel result = null; if (dbUser != null) { dbUser.FirstName = settingsData.FirstName?.Trim() ?? null; dbUser.LastName = settingsData.LastName?.Trim() ?? null; dbUser.StandardUserGroupId = settingsData.StandardUserGroupId?.Trim() ?? null; var updateResult = await _userManager.UpdateAsync(dbUser); if (!updateResult.Succeeded) { _logger.LogError($"Could not update user settings for user '{userId}'", updateResult.GetErrorMessagesAsList()); } else { result = settingsData; } } else { _logger.LogError($"Could not find any user with id '{userId}'"); } return(result); }
public async Task <ActionResult <UpdateUserSettingsResult> > UpdateUserSettings(string id, [FromBody] ShoppingUserSettingsModel settings) { UpdateUserSettingsResult result = new UpdateUserSettingsResult(); if (!(await IsUserAuthorized(id))) { result.IsSuccessful = false; result.ErrorMessages.Add("Not authorized to access this resource"); return(Unauthorized(result)); } var updateResult = await _userRepository.UpdateUserSettingsAsync(id, settings); if (updateResult == null) { result.IsSuccessful = false; result.ErrorMessages.Add("Could not update user settings"); return(NotFound(result)); } return(Ok(result)); }
public async Task <ShoppingUserSettingsModel> UpdateUserSettingsAsync(string userId, ShoppingUserSettingsModel settingsData) { var client = await _authService.GetHttpClientAsync(); var response = await client.PutAsJsonAsync($"{BaseAddress}/UpdateUserSettings/{userId}", settingsData); var resultObject = await response.Content.ReadFromJsonAsync <UpdateUserSettingsResult>(); if (!response.IsSuccessStatusCode) { throw new Exception(resultObject.CompleteErrorMessage); } return(resultObject.ResultData.FirstOrDefault()); }