Example #1
0
        /// <summary>
        /// Retrieve a list of all planets, and order them by their Diameter, from largest to smallest,
        /// as well as the average diameter of those planets whose diameter is known.
        /// </summary>
        /// <returns>ActionResult</returns>
        public async Task <IActionResult> GetAllPlanets()
        {
            var model = new AllPlanetsViewModel();

            model.PlanetViewModels = (await _StarWarsService.GetPlanetsAsync())
                                     .Select(p => new PlanetDetailsViewModel
            {
                Name         = p.Name,
                Population   = p.Population == "unknown" ? "unknown" : long.Parse(p.Population).ToString("N0"),
                Diameter     = p.Diameter,
                Terrain      = p.Terrain,
                LengthOfYear = p.LengthOfYear
            })
                                     .OrderByDescending(p => p.DiameterAsInt) // Largest Diameter to Smallest Diameter
                                     .ToList();

            return(View(model));
        }