Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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());
        }