internal WeatherResult ToWeatherResult(LocationResult location)
        {
            ITemperature      temperature = new DegreesFahrenheit(this.Temperature.Value);
            WindSpeed         windSpeed   = new WindSpeed(new MilesPerHour(this.Wind.Speed.Imperial.Value), this.Wind.Direction.Degrees);
            LatitudeLongitude latLong     = new LatitudeLongitude(location.GeoPosition.Latitude, location.GeoPosition.Longitude);

            return(new WeatherResult(temperature, latLong, windSpeed));
        }
        public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
        {
            if (value is ITemperature temperature)
            {
                DegreesFahrenheit f = temperature.ToKelvin().ToCelsius().ToFahrenheit();

                if (string.IsNullOrWhiteSpace(StringFormat))
                {
                    return(f.Amount);
                }
                else
                {
                    return(string.Format(StringFormat, f.Amount));
                }
            }

            return(value);
        }