Esempio n. 1
0
        public async Task <List <PlanetModel> > SearchAsync(string url, PlanetSearchRequestDto request)
        {
            var processedUrl = string.Empty;

            if (!string.IsNullOrEmpty(request.Name))
            {
                processedUrl = string.Concat(url, AppSettings.QueryString + request.Name);
            }
            else
            {
                processedUrl = url;
            }

            var responseDto = await _requestHelper.CallServiceAsync <PlanetSearchResponseDto>(processedUrl);

            var results = _planetMappingHelper.MapToModelList(responseDto);

            allPageResults.AddRange(results);

            if (responseDto.next != null)
            {
                await SearchAsync(responseDto.next, request);
            }

            return(allPageResults);
        }
Esempio n. 2
0
        public async Task <ActionResult> GetAllPlanets()
        {
            var response            = new SearchPlanetViewModel();
            var planetGetRequestDto = new PlanetSearchRequestDto();  // All Planets

            response = await _planetHelper.SearchPlanetList(planetGetRequestDto);

            return(View(response));
        }
Esempio n. 3
0
        public async Task <SearchPlanetViewModel> SearchPlanetList(PlanetSearchRequestDto request)
        {
            var response = new SearchPlanetViewModel();
            var planetSearchRequestUrl = _commonUrlHelper.GetApiUrl(ApiRequestType.PlanetSearchUrl);
            var planetListResponse     = await _planetRequestHelper.SearchAsync(planetSearchRequestUrl, request);

            if (planetListResponse.Any())
            {
                response = _planetModelDecoratorHelper.SearchViewModel(planetListResponse);
            }

            return(response);
        }
Esempio n. 4
0
        public async Task <ActionResult> GetResidentsOfPlanetNaboo(string planetname)
        {
            var response = new List <SearchPlanetResidentsViewModel>();
            var planetSearchRequestDto = new PlanetSearchRequestDto()
            {
                Name = "Naboo"
            };

            //var planetSearchRequestDto = new PlanetSearchRequestDto();  // All Planet's Residents
            response = await _planetHelper.SearchPlanetResidentsList(planetSearchRequestDto);

            return(View(response));
        }
Esempio n. 5
0
        public async Task <List <SearchPlanetResidentsViewModel> > SearchPlanetResidentsList(PlanetSearchRequestDto request)
        {
            var response = new List <SearchPlanetResidentsViewModel>();
            var planetSearchRequestUrl = _commonUrlHelper.GetApiUrl(ApiRequestType.PlanetSearchUrl);
            var planetListResponse     = await _planetRequestHelper.SearchAsync(planetSearchRequestUrl, request);

            if (planetListResponse.Any())
            {
                foreach (var item in planetListResponse)
                {
                    var residentList = new List <PeopleModel>();

                    if (item.Residents.Any())
                    {
                        foreach (var residentUrl in item.Residents)
                        {
                            var peopleGetResponse = await _peopleHelper.GetResidentsPerPlanetAsync(residentUrl);

                            if (peopleGetResponse != null)
                            {
                                residentList.Add(peopleGetResponse);
                            }
                        }

                        response.Add(new SearchPlanetResidentsViewModel()
                        {
                            Name          = item.Name,
                            ResidentlList = residentList.OrderBy(o => o.Name).ToList()
                        });

                        residentList = null;
                    }
                }
            }

            return(response);
        }