public MediatorResponse <SettingsViewModel> UpdateUser(string username, string ukprn, ProviderUserViewModel providerUserViewModel) { var result = _providerUserViewModelValidator.Validate(providerUserViewModel); var providerSites = GetProviderSites(ukprn); var viewModel = new SettingsViewModel { ProviderUserViewModel = providerUserViewModel, ProviderSites = providerSites }; if (!result.IsValid) { return(GetMediatorResponse(ProviderUserMediatorCodes.UpdateUser.FailedValidation, viewModel, result)); } var existingUser = _providerUserProvider.GetUserProfileViewModel(username); viewModel.ProviderUserViewModel = _providerUserProvider.SaveProviderUser(username, ukprn, providerUserViewModel); if (existingUser != null) { if (!string.Equals(existingUser.EmailAddress, viewModel.ProviderUserViewModel.EmailAddress, StringComparison.CurrentCultureIgnoreCase)) { return(GetMediatorResponse(ProviderUserMediatorCodes.UpdateUser.EmailUpdated, viewModel, ProviderUserViewModelMessages.EmailUpdated, UserMessageLevel.Success)); } return(GetMediatorResponse(ProviderUserMediatorCodes.UpdateUser.AccountUpdated, viewModel, ProviderUserViewModelMessages.AccountUpdated, UserMessageLevel.Success)); } return(GetMediatorResponse(ProviderUserMediatorCodes.UpdateUser.Ok, viewModel, ProviderUserViewModelMessages.AccountCreated, UserMessageLevel.Success)); }
public MediatorResponse <ProviderUserViewModel> SaveProviderUser(ProviderUserViewModel viewModel) { try { viewModel = _providerUserProvider.SaveProviderUser(viewModel); return(GetMediatorResponse(AdminMediatorCodes.SaveProviderUser.Ok, viewModel, ProviderUserViewModelMessages.ProviderUserSavedSuccessfully, UserMessageLevel.Info)); } catch (Exception ex) { _logService.Error($"Failed to save provider user with id={viewModel.ProviderUserId}", ex); viewModel = _providerUserProvider.GetProviderUserViewModel(viewModel.ProviderUserId); return(GetMediatorResponse(AdminMediatorCodes.SaveProviderUser.Error, viewModel, ProviderUserViewModelMessages.ProviderUserSaveError, UserMessageLevel.Error)); } }