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); }
public async Task <ActionResult> GetAllPlanets() { var response = new SearchPlanetViewModel(); var planetGetRequestDto = new PlanetSearchRequestDto(); // All Planets response = await _planetHelper.SearchPlanetList(planetGetRequestDto); return(View(response)); }
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); }