public async Task <WeatherData> GetWeather(double latitude, double longitude)
        {
            UriBuilder builder = new UriBuilder(_baseEndpoint)
            {
                Path  = $"data/2.5/onecall",
                Query = $"lat={latitude.ToString(CultureInfo.InvariantCulture)}&lon={longitude.ToString(CultureInfo.InvariantCulture)}&exclude=minutely,hourly,daily,alerts&lang={_lang}&units={_unit}&appid={_serviceKey}"
            };

            OpenWeatherMapDTO weatherResponse = await _requestService.GetAsync <OpenWeatherMapDTO>(builder.Uri);

            OpenWeatherMapMapper openWeatherMapMapper = new OpenWeatherMapMapper();
            WeatherData          weather = openWeatherMapMapper.ToDomainEntity(weatherResponse, _runtimeContext.CityName);

            return(weather);
        }
        public WeatherData ToDomainEntity(OpenWeatherMapDTO openWeatherMapDTO, string cityName)
        {
            var input   = openWeatherMapDTO.current;
            var weather = new Weather()
            {
                Humidity           = input.humidity,
                Pressure           = input.pressure,
                TemperatureCurrent = Math.Round(input.temp),
                WindSpeed          = input.wind_speed,
                WeatherDescription = input.weather[0].description,
                Icon = $"openweathermap{input.weather[0].icon}.png"
            };

            var city = new City
            {
                Name      = cityName,
                Latitude  = openWeatherMapDTO.lat,
                Longitude = openWeatherMapDTO.lon
            };

            return(new WeatherData {
                City = city, Weather = weather
            });
        }