private WeatherResponse GetCurrently(CancellationToken token) { if (!Latitude.HasValue || !Longitude.HasValue) { return(null); } var weatherDataType = _weatherDataType; try { _weatherDataType = WeatherDataResponseType.Current; var requestString = BuildRequestUri(Latitude.Value, Longitude.Value); var responseResult = GetStringAsync(requestString, token); if (responseResult == null) { return(null); } var json = responseResult as string; if (string.IsNullOrEmpty(json) || string.IsNullOrWhiteSpace(json)) { return(null); } return(JsonConvert.DeserializeObject <WeatherResponse>(json)); } finally { _weatherDataType = weatherDataType; } }
public static string ToValue(this WeatherDataResponseType self) { switch (self) { case WeatherDataResponseType.Forecast: return("forecast"); case WeatherDataResponseType.Current: return("weather"); default: throw new ArgumentOutOfRangeException(); } }
protected override void Initialize(OptionalParameters optionalParameters) { base.Initialize(optionalParameters); _weatherDataType = WeatherDataResponseType.Forecast; }