public static string ToValue(this WeatherProviderUnits self) { switch (self) { case WeatherProviderUnits.Si: return("c"); case WeatherProviderUnits.Imperial: return("f"); default: throw new ArgumentOutOfRangeException(); } }
private string BuildRequestUrl(string urlparams) { var unit = OptionalParameters?.MeasurementUnits; _weatherProviderUnits = string.IsNullOrEmpty(unit) ? WeatherProviderUnits.Imperial // Right presure unit : (WeatherProviderUnits)Enum.Parse(typeof(WeatherProviderUnits), unit, true); var result = string.Format( "yql?q=select * from weather.forecast where woeid in (select woeid from geo.places(1) where {0}) and u='{1}'&format=json", urlparams, _weatherProviderUnits.ToValue()); return(result); }
private string BuildRequestUrl(string urlparams) { var unit = OptionalParameters?.MeasurementUnits; _weatherProviderUnits = string.IsNullOrEmpty(unit) ? WeatherProviderUnits.Metric : (WeatherProviderUnits)Enum.Parse(typeof(WeatherProviderUnits), unit, true); var urlbase = string.Format("{0}?appid={1}", _weatherDataType.ToValue(), ApiKey?.Decrypt()); var lang = GetValidLanguage(OptionalParameters?.LanguageCode); var result = string.Format("{0}&{1}&units={2}&lang={3}", urlbase, urlparams, _weatherProviderUnits.ToValue(), lang); return(result); }
protected override string BuildRequestUri(double latitude, double longitude) { Latitude = latitude; Longitude = longitude; var queryString = new StringBuilder(string.Format(FormatProvider, "forecast/{0}/{1:N4},{2:N4}", ApiKey?.Decrypt(), latitude, longitude)); if (OptionalParameters?.UnixTimeInSeconds != null) { queryString.AppendFormat(",{0}", OptionalParameters.UnixTimeInSeconds); } if (OptionalParameters != null) { queryString.Append("?"); } if (OptionalParameters?.DataBlocksToExclude != null && OptionalParameters.DataBlocksToExclude.Count > 0) { queryString.AppendFormat("&exclude={0}", string.Join(",", OptionalParameters.DataBlocksToExclude)); } if (OptionalParameters?.ExtendHourly != null && OptionalParameters.ExtendHourly.Value) { queryString.Append("&extend=hourly"); } var languageCode = GetValidLanguage(OptionalParameters?.LanguageCode); queryString.AppendFormat("&lang={0}", languageCode); var unit = OptionalParameters?.MeasurementUnits; _weatherProviderUnits = string.IsNullOrEmpty(unit) ? WeatherProviderUnits.Si : (WeatherProviderUnits)Enum.Parse(typeof(WeatherProviderUnits), unit, true); queryString.AppendFormat("&units={0}", _weatherProviderUnits.ToValue()); return(queryString.ToString()); }
/// <summary> /// Gives the Forecast Service-friendly name for /// this parameter. /// </summary> /// <param name="self"> /// The parameter to convert. /// </param> /// <returns> /// The service-friendly <see cref="string"/>. /// </returns> /// <exception cref="ArgumentOutOfRangeException"> /// Thrown when the parameter does not have a corresponding /// friendly name. /// </exception> public static string ToValue(this WeatherProviderUnits self) { switch (self) { case WeatherProviderUnits.Us: return("us"); case WeatherProviderUnits.Si: return("si"); //case WeatherProviderUnits.Ca: // return "ca"; //case WeatherProviderUnits.Uk: // return "uk"; //case WeatherProviderUnits.Uk2: // return "uk2"; //case WeatherProviderUnits.Auto: // return "auto"; default: throw new ArgumentOutOfRangeException(); } }