public async Task <WeatherData> GetWeather(double latitude, double longitude) { UriBuilder builder = new UriBuilder(_baseEndpoint) { Path = $"forecast/{_serviceKey}/{latitude.ToString(CultureInfo.InvariantCulture)},{longitude.ToString(CultureInfo.InvariantCulture)}", Query = $"exclude=[minutely,hourly,daily,alerts,flags]&units={_unit}&lang={_lang}" }; DarkskyDTO weatherResponse = await _requestService.GetAsync <DarkskyDTO>(builder.Uri); DarkskyMapper darkskyMapper = new DarkskyMapper(); WeatherData weather = darkskyMapper.ToDomainEntity(weatherResponse, _runtimeContext.CityName); return(weather); }
public WeatherData ToDomainEntity(DarkskyDTO darkskyDTO, string cityName) { var input = darkskyDTO.currently; var weather = new Weather() { Humidity = input.humidity, Pressure = input.pressure, TemperatureCurrent = Math.Round(input.temperature), WindSpeed = input.windSpeed, WeatherDescription = input.summary, Icon = $"{input.icon.Replace('-', '_')}.png" }; var city = ToWeatherCity(darkskyDTO, cityName); return(new WeatherData { City = city, Weather = weather }); }