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