public async Task <IActionResult> Search([FromQuery] string keyword)
        {
            if (string.IsNullOrWhiteSpace(keyword))
            {
                return(ViewComponent(nameof(SearchProviderResults), SearchProviderResultsViewModel.Empty()));
            }

            var result = await _searchClient.Search(new ProviderSearchQuery
            {
                SearchText = keyword
            });

            return(ViewComponent(nameof(SearchProviderResults), new SearchProviderResultsViewModel
            {
                Search = keyword,
                Providers = result.Results.Select(SearchProviderResultViewModel.FromProvider)
            }));
        }
        public async Task <IActionResult> Index([FromQuery] string keyword)
        {
            if (Session.GetInt32("UKPRN").HasValue)
            {
                Session.Remove("UKPRN");
            }

            if (string.IsNullOrWhiteSpace(keyword))
            {
                return(View(SearchProviderResultsViewModel.Empty()));
            }

            var result = await _searchClient.Search(new ProviderSearchQuery
            {
                SearchText = keyword
            });

            return(View(new SearchProviderResultsViewModel
            {
                Search = keyword,
                Providers = result.Results.Select(SearchProviderResultViewModel.FromProvider)
            }));
        }
 public IViewComponentResult Invoke(SearchProviderResultsViewModel model)
 {
     return(View("~/ViewComponents/SearchProviderResults/Default.cshtml", model ?? new SearchProviderResultsViewModel()));
 }