Advertisement
Guest User

Untitled

a guest
Jul 20th, 2017
62
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.70 KB | None | 0 0
  1. public class ViewModel : INotifyPropertyChanged
  2. {
  3. #region Propiedades
  4. private string _stationName;
  5. private int _elevation;
  6. private string _temperature;
  7. private int _humidity;
  8.  
  9. public string StationName
  10. { get
  11. {
  12. return _stationName;
  13. }
  14. set
  15. {
  16. _stationName = value;
  17. OnPropertyChanged();
  18. }
  19. }
  20. public int Elevation
  21. {
  22. get
  23. {
  24. return _elevation;
  25. }
  26. set
  27. {
  28. _elevation = value;
  29. OnPropertyChanged();
  30. }
  31. }
  32. public string Temperature
  33. {
  34. get
  35. {
  36. return _temperature;
  37. }
  38. set
  39. {
  40. _temperature = value;
  41. OnPropertyChanged();
  42. }
  43. }
  44. public int Humidity
  45. {
  46. get
  47. {
  48. return _humidity;
  49. }
  50. set
  51. {
  52. _humidity = value;
  53. OnPropertyChanged();
  54. }
  55. }
  56. #endregion
  57. #region Metodos
  58. public async Task GetWeatherAsync(string url)
  59. {
  60. var client = new HttpClient();
  61. client.BaseAddress = new Uri(url);
  62. var response = await client.GetAsync(client.BaseAddress);
  63. response.EnsureSuccessStatusCode();
  64. var jsonResult = response.Content.ReadAsStringAsync().Result;
  65. var weather = JsonConvert.DeserializeObject<WeatherResult>(jsonResult);
  66. SetValue(weather);
  67. }
  68. private void SetValue(WeatherResult weather)
  69. {
  70. var stationName = weather.weatherObservation.StationName;
  71. var elevation = weather.weatherObservation.Elevation;
  72. var temperature = weather.weatherObservation.Temperature;
  73. var humidity = weather.weatherObservation.Humidity;
  74.  
  75. StationName = stationName;
  76. Elevation = elevation;
  77. Temperature = temperature;
  78. Humidity = humidity;
  79.  
  80. }
  81. #endregion
  82. #region InotifyPropertyChanged
  83. public event PropertyChangedEventHandler PropertyChanged;
  84.  
  85. [NotifyPropertyChangedInvocator]
  86. protected virtual void OnPropertyChanged([CallerMemberName] string propertyName=null)
  87. {
  88. if (PropertyChanged != null)
  89. {
  90.  
  91. PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
  92. }
  93. }
  94.  
  95. #endregion
  96. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement