public MarsViewModel() { var marsPictureOfTheDay = new NasaPictureOfTheDay(); MarsPictureResponse response = null; Task.Run(async() => { response = await marsPictureOfTheDay.GetMarsPictureAsync(RoverEnum.Curiosity, DateTime.Now.AddDays(-7), "DEMO_KEY"); if (response != null) { if (response.Success) { Title = response.picturesFromMars.photos[0].camera.full_name; PictureOfDay = response.picturesFromMars.photos[0].img_src; } } }); Task.WaitAll(); }
public async Task <MarsPictureResponse> GetMarsPictureAsync(RoverEnum rover, DateTime earthDate, string apiKey) { MarsPictureResponse response = new MarsPictureResponse(); try { string json = await restServiceCaller.GetMarsPictureJsonAsync(rover.ToString(), earthDate, apiKey); #if NETCOREAPP3_1 || NET5_0 response.picturesFromMars = System.Text.Json.JsonSerializer.Deserialize <MarsPictures>(json); #else response.picturesFromMars = Newtonsoft.Json.JsonConvert.DeserializeObject <MarsPictures>(json); #endif response.Success = true; } catch (Exception ex) { response.Success = false; response.exception = ex; } return(response); }