Beispiel #1
0
        private async Task <IEnumerable <string> > GetCovidPathways(string gender, AgeCategory ageGroup)
        {
            var requestPath = _configuration.GetBusinessApiGuidedPathwaySearchUrl(gender, ageGroup.Value, true);
            var request     = new RestRequest(requestPath, Method.POST);

            request.AddJsonBody(new { query = Uri.EscapeDataString(SearchReservedCovidTerms.SearchTerms.First()) });

            var response = await _restClient.ExecuteAsync <List <GuidedSearchResultViewModel> >(request).ConfigureAwait(false);

            CheckResponse(response);
            return(response.Data.Select(p => p.PathwayNo));
        }
        public async Task <ViewResult> GuidedSelection(string gender, int age, string args)
        {
            var decryptedArgs      = new QueryStringEncryptor(args);
            var ageGenderViewModel = new AgeGenderViewModel {
                Gender = gender, Age = age
            };

            var model = new SearchJourneyViewModel
            {
                SessionId       = Guid.Parse(decryptedArgs["sessionId"]),
                CurrentPostcode = decryptedArgs["postcode"],
                UserInfo        = new UserInfo
                {
                    Demography = ageGenderViewModel,
                },
                FilterServices     = bool.Parse(decryptedArgs["filterServices"]),
                Campaign           = decryptedArgs["campaign"],
                Source             = decryptedArgs["source"],
                IsCovidJourney     = bool.Parse(decryptedArgs["isCovidjourney"]),
                EntrySearchTerm    = decryptedArgs["entrySearchTerm"],
                ViaGuidedSelection = true,
                StartParameter     = decryptedArgs["startParameter"]
            };

            var ageGroup    = new AgeCategory(model.UserInfo.Demography.Age);
            var requestPath = _configuration.GetBusinessApiGuidedPathwaySearchUrl(model.UserInfo.Demography.Gender, ageGroup.Value, true);

            var request = new RestRequest(requestPath, Method.POST);

            request.AddJsonBody(new { query = SearchReservedCovidTerms.SearchTerms.First() });

            var response = await _restClientBusinessApi.ExecuteAsync <List <GuidedSearchResultViewModel> >(request).ConfigureAwait(false);

            var guidedModel = Mapper.Map <GuidedSearchJourneyViewModel>(model);

            guidedModel.GuidedResults = response.Data;

            return(!guidedModel.GuidedResults.Any() ? View("~\\Views\\Search\\NoResults.cshtml", model) : View("~\\Views\\Search\\GuidedSelection.cshtml", guidedModel));
        }