Esempio n. 1
0
        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);
        }