public SearchPlanetViewModel SearchViewModel(List <PlanetModel> modelList)
        {
            var response                        = new SearchPlanetViewModel();
            var planetDiameterTotal             = 0;
            var validDiameterPlanetModelList    = new List <PlanetModel>();
            var nonValidDiameterPlanetModelList = new List <PlanetModel>();

            if (modelList != null)
            {
                if (modelList.Any())
                {
                    foreach (var item in modelList)
                    {
                        if (item.Diameter != -1)
                        {
                            planetDiameterTotal = planetDiameterTotal + item.Diameter;
                            validDiameterPlanetModelList.Add(item);
                        }
                        else
                        {
                            nonValidDiameterPlanetModelList.Add(item);
                        }
                    }

                    response.DiameterAverage = (planetDiameterTotal / modelList.Count);
                    response.PlanetModelList = validDiameterPlanetModelList.OrderByDescending(o => o.Diameter).ToList();
                    response.PlanetModelList.AddRange(nonValidDiameterPlanetModelList);
                }
            }

            return(response);
        }
Exemple #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));
        }
Exemple #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);
        }