Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class ViewModel : INotifyPropertyChanged
- {
- #region Propiedades
- private string _stationName;
- private int _elevation;
- private string _temperature;
- private int _humidity;
- public string StationName
- { get
- {
- return _stationName;
- }
- set
- {
- _stationName = value;
- OnPropertyChanged();
- }
- }
- public int Elevation
- {
- get
- {
- return _elevation;
- }
- set
- {
- _elevation = value;
- OnPropertyChanged();
- }
- }
- public string Temperature
- {
- get
- {
- return _temperature;
- }
- set
- {
- _temperature = value;
- OnPropertyChanged();
- }
- }
- public int Humidity
- {
- get
- {
- return _humidity;
- }
- set
- {
- _humidity = value;
- OnPropertyChanged();
- }
- }
- #endregion
- #region Metodos
- public async Task GetWeatherAsync(string url)
- {
- var client = new HttpClient();
- client.BaseAddress = new Uri(url);
- var response = await client.GetAsync(client.BaseAddress);
- response.EnsureSuccessStatusCode();
- var jsonResult = response.Content.ReadAsStringAsync().Result;
- var weather = JsonConvert.DeserializeObject<WeatherResult>(jsonResult);
- SetValue(weather);
- }
- private void SetValue(WeatherResult weather)
- {
- var stationName = weather.weatherObservation.StationName;
- var elevation = weather.weatherObservation.Elevation;
- var temperature = weather.weatherObservation.Temperature;
- var humidity = weather.weatherObservation.Humidity;
- StationName = stationName;
- Elevation = elevation;
- Temperature = temperature;
- Humidity = humidity;
- }
- #endregion
- #region InotifyPropertyChanged
- public event PropertyChangedEventHandler PropertyChanged;
- [NotifyPropertyChangedInvocator]
- protected virtual void OnPropertyChanged([CallerMemberName] string propertyName=null)
- {
- if (PropertyChanged != null)
- {
- PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
- }
- }
- #endregion
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement