public WeatherListViewModel(IWeatherRepository weather) { _weather = weather; foreach (var entity in _weather.GetData()) { Weathers.Add(new WeatherListViewModelWeather(entity)); } }
private async Task SearchCity(string city) { if (city == null) { return; } var result = await _repository.GetWheater(city); Weathers.Add(new WeatherViewModel(result)); }
public CurrentWeather(string apiKey, string queryStr, UnitsEnum units) { string unitsString; switch (units) { case UnitsEnum.Metric: { unitsString = "metric"; break; } case UnitsEnum.Imperial: { unitsString = "imperial"; break; } default: { unitsString = "standard"; break; } } JObject jsonData; using (var client = new System.Net.WebClient()) jsonData = JObject.Parse(client.DownloadString($"http://api.openweathermap.org/data/2.5/weather?appid={apiKey}&q={queryStr}&units={unitsString}")); if (jsonData.SelectToken("cod").ToString() == "200") { ValidRequest = true; Coord = new Coord(jsonData.SelectToken("coord")); foreach (JToken weather in jsonData.SelectToken("weather")) { Weathers.Add(new Weather(weather)); } Base = jsonData.SelectToken("base").ToString(); Main = new Main(jsonData.SelectToken("main")); if (jsonData.SelectToken("visibility") != null) { Visibility = double.Parse(jsonData.SelectToken("visibility").ToString(), CultureInfo.InvariantCulture); } Wind = new Wind(jsonData.SelectToken("wind")); if (jsonData.SelectToken("rain") != null) { Rain = new Rain(jsonData.SelectToken("rain")); } if (jsonData.SelectToken("snow") != null) { Snow = new Snow(jsonData.SelectToken("snow")); } Clouds = new Clouds(jsonData.SelectToken("clouds")); Sys = new Sys(jsonData.SelectToken("sys")); ID = int.Parse(jsonData.SelectToken("id").ToString(), CultureInfo.InvariantCulture); Name = jsonData.SelectToken("name").ToString(); Cod = int.Parse(jsonData.SelectToken("cod").ToString(), CultureInfo.InvariantCulture); } else { ValidRequest = false; } }
public WeatherListViewModel(IWeatherRepository weather, MainWindowViewModel mainWindowViewModel) { _weather = weather; _mainWindowViewModel = mainWindowViewModel; foreach (var entity in _weather.GetData()) { Weathers.Add(new WeatherListViewModelWeather(entity)); } UpdateButton = new DelegateCommand(UpdateButtonExecute); DataGridSelectionChanged = new DelegateCommand(DataGridSelectionChangedExecute); DataGridMouseDoubleClick = new DelegateCommand(DataGridMouseDoubleClickExecute); }
private async Task LoadData() { if (_isDataLoaded) { return; } _isDataLoaded = true; // Our repository works with Weather objects. In this view model, we work with WeatherViewModel objects. // So, here I've called LINQ Select() extension method to map these Weather objects to WeatherViewModel. var results = await _repository.GetSeveralCitiesWheaterAsync(); foreach (var result in results.Weather) { Weathers.Add(new WeatherViewModel(result)); } }
private async Task GetWeathersAsync() { CanClick = false; Weathers.Clear(); // サービスの GetWeathersAsync メソッドをコールし、一時的に保存 var tempWeathers = await _weatherService.GetWeathersAsync(); // View から参照できるようにプロパティに流し込み if (tempWeathers != null) { foreach (var weather in tempWeathers) { Weathers.Add(weather); } } CanClick = true; }
public Query(string apiKey, string queryStr) { JObject jsonData; using (var client = new System.Net.WebClient()) jsonData = JObject.Parse(client.DownloadString($"http://api.openweathermap.org/data/2.5/weather?appid={apiKey}&q={queryStr}")); if (jsonData.SelectToken("cod").ToString() == "200") { ValidRequest = true; Coord = new Coord(jsonData.SelectToken("coord")); foreach (JToken weather in jsonData.SelectToken("weather")) { Weathers.Add(new Weather(weather)); } Base = jsonData.SelectToken("base").ToString(); Main = new Main(jsonData.SelectToken("main")); if (jsonData.SelectToken("visibility") != null) { Visibility = double.Parse(jsonData.SelectToken("visibility").ToString(), CultureInfo.InvariantCulture); } Wind = new Wind(jsonData.SelectToken("wind")); if (jsonData.SelectToken("rain") != null) { Rain = new Rain(jsonData.SelectToken("rain")); } if (jsonData.SelectToken("snow") != null) { Snow = new Snow(jsonData.SelectToken("snow")); } Clouds = new Clouds(jsonData.SelectToken("clouds")); Sys = new Sys(jsonData.SelectToken("sys")); ID = int.Parse(jsonData.SelectToken("id").ToString(), CultureInfo.InvariantCulture); Name = jsonData.SelectToken("name").ToString(); Cod = int.Parse(jsonData.SelectToken("cod").ToString(), CultureInfo.InvariantCulture); Dt = Helper.convertUnixToDateTime(double.Parse(jsonData.SelectToken("dt").ToString(), CultureInfo.InvariantCulture)); } else { ValidRequest = false; } }
public Hour(JToken hourData) { if (hourData is null) { throw new ArgumentNullException(nameof(hourData)); } DateTime = Utility.convertUnixToDateTime(double.Parse(hourData.SelectToken("dt").ToString(), CultureInfo.InvariantCulture)); Temperature = double.Parse(hourData.SelectToken("temp").ToString(), CultureInfo.InvariantCulture); FeelsLike = double.Parse(hourData.SelectToken("feels_like").ToString(), CultureInfo.InvariantCulture); Pressure = int.Parse(hourData.SelectToken("pressure").ToString(), CultureInfo.InvariantCulture); Humidity = int.Parse(hourData.SelectToken("humidity").ToString(), CultureInfo.InvariantCulture); DewPoint = double.Parse(hourData.SelectToken("dew_point").ToString(), CultureInfo.InvariantCulture); Uvi = double.Parse(hourData.SelectToken("uvi").ToString(), CultureInfo.InvariantCulture); Clouds = int.Parse(hourData.SelectToken("clouds").ToString(), CultureInfo.InvariantCulture); Visibility = int.Parse(hourData.SelectToken("visibility").ToString(), CultureInfo.InvariantCulture); Wind = new Wind(hourData); Pop = double.Parse(hourData.SelectToken("pop").ToString(), CultureInfo.InvariantCulture); foreach (JToken weather in hourData.SelectToken("weather")) { Weathers.Add(new Weather(weather)); } }