public async Task <ActionResult <Period> > Get( // [Required] string planetName , // [Required] DateTime birthday [FromQuery] GetAgeCommand command ) { string planetName = command.planetName; var birthday = command.birthday; birthday = DateTime.SpecifyKind(birthday, DateTimeKind.Utc); // DateTime birthday1 = new DateTime(1986, 4, 19, 0, 0, 0, DateTimeKind.Utc); var planets = await _planetStore.GetPlanets(CancellationToken.None); var planet = planets.FirstOrDefault(p => p.Name.Equals(planetName, StringComparison.OrdinalIgnoreCase)); if (planet == null) { return(BadRequest($"Planet '{planetName}' not found")); } Instant now = _clock.GetCurrentInstant(); Instant bd = Instant.FromDateTimeUtc(birthday); Duration age = now - bd; var ageOnPlanet = _ageService.CalculateAge(planet, age); return(ageOnPlanet); }
public static void ExportPlanets() { Console.Write("Enter telescope (e.g. TRAPPIST): "); string telescopeName = Console.ReadLine(); IEnumerable <PlanetExportDto> planets = PlanetStore.GetPlanets(telescopeName); string json = JsonConvert.SerializeObject(planets .Select(p => new { Name = p.Name, Mass = p.Mass, Orbitting = new[] { p.Orbitting } }), Formatting.Indented); File.WriteAllText($"../../Export/planets-by-{telescopeName}.json", json); }
public async Task <IActionResult> Get(CancellationToken cancellationToken) { var planets = await _planetStore.GetPlanets(cancellationToken); return(Ok(planets)); }