예제 #1
0
        public ActionResult ProviderUsers(ProviderUserSearchViewModel viewModel)
        {
            var response = _adminMediator.SearchProviderUsers(viewModel, User.GetUkprn());

            ModelState.Clear();

            switch (response.Code)
            {
            case AdminMediatorCodes.SearchProviderUsers.FailedValidation:
                response.ValidationResult.AddToModelState(ModelState, "SearchViewModel");
                return(View(response.ViewModel));

            case AdminMediatorCodes.SearchProviderUsers.Ok:
                return(View(response.ViewModel));

            default:
                throw new InvalidMediatorCodeException(response.Code);
            }
        }
        public ProviderUserSearchResultsViewModel SearchProviderUsers(ProviderUserSearchViewModel searchViewModel)
        {
            var searchParameters = new ProviderUserSearchParameters
            {
                Username            = searchViewModel.Username,
                Name                = searchViewModel.Name,
                Email               = searchViewModel.Email,
                AllUnverifiedEmails = searchViewModel.AllUnverifiedEmails
            };

            var providerUsers = _userProfileService.SearchProviderUsers(searchParameters);

            var viewModel = new ProviderUserSearchResultsViewModel
            {
                SearchViewModel = searchViewModel,
                ProviderUsers   = providerUsers.Select(Convert).ToList()
            };

            return(viewModel);
        }
        public MediatorResponse <ProviderUserSearchResultsViewModel> SearchProviderUsers(ProviderUserSearchViewModel searchViewModel, string ukprn)
        {
            ProviderUserSearchResultsViewModel viewModel;

            if (searchViewModel.PerformSearch)
            {
                var validatonResult = _providerUserSearchViewModelServerValidator.Validate(searchViewModel);

                if (!validatonResult.IsValid)
                {
                    return(GetMediatorResponse(AdminMediatorCodes.SearchProviderUsers.FailedValidation, GetProviderUsers(ukprn), validatonResult));
                }

                viewModel = _providerUserProvider.SearchProviderUsers(searchViewModel);
            }
            else
            {
                viewModel = GetProviderUsers(ukprn);
            }

            return(GetMediatorResponse(AdminMediatorCodes.SearchProviderUsers.Ok, viewModel));
        }