public IActionResult PictureOfDay([Bind("Date")] PictureOfDayFilter pictureOfDayFilter) { if (pictureOfDayFilter.Date > DateTime.Now) { pictureOfDayFilter.Date = DateTime.Now; } var getPictureOfDayFilter = new GetPictureOfDayFilter(pictureOfDayFilter.Date); var pictureOfDayDto = _apodService.GetPictureOfDay(getPictureOfDayFilter).GetAwaiter().GetResult(); var pictureOfDayModel = new PictureOfDay { Copyright = pictureOfDayDto.Copyright, Date = pictureOfDayDto.Date, Explanation = pictureOfDayDto.Explanation, Hdurl = pictureOfDayDto.Hdurl, Media_type = pictureOfDayDto.Media_type, Service_version = pictureOfDayDto.Service_version, Title = pictureOfDayDto.Title, Url = pictureOfDayDto.Url }; return(View(pictureOfDayModel)); }
public async Task <PictureOfDayDto> GetPictureOfDay(GetPictureOfDayFilter getPictureOfDayFilter) { var date = getPictureOfDayFilter.Date.ToString("yyyy-MM-dd"); var apiKey = _configuration.GetValue <string>("NasaApodApiKey"); var baseAddress = _configuration.GetValue <string>("NasaApodBaseAddress"); var requestUri = baseAddress + $"?api_key={apiKey}&date={date}"; var response = await _httpClient.GetAsync(requestUri).ConfigureAwait(false); if (!response.IsSuccessStatusCode) { return(new PictureOfDayDto($"Fail on request Uri:{requestUri}. return statuscode:{response.StatusCode}")); } var responseString = response.Content.ReadAsStringAsync().GetAwaiter().GetResult(); var getPictureOfDayDto = JsonConvert.DeserializeObject <PictureOfDayDto>(responseString); return(getPictureOfDayDto); }