public void GetDataFromService(string urlCity, bool isCities) { var client = new WeatherServiceClient("BasicHttpBinding_IWeatherService"); if (client.State == CommunicationState.Created) { if (isCities) { this._cities = client.GetCities(); } this._meteo = client.GetWeather(urlCity); //в случае отказа сервера в получении текущей даты if (this._meteo.CurrentDay == null) { this._meteo.CurrentDay = this._meteo.Days.FirstOrDefault(day => day.Day.Contains(DateTime.Now.ToString("dd MMMM"))) ?? this._meteo.Days.FirstOrDefault(day => day.Day.Contains(DateTime.Now.AddDays(1).ToString("dd MMMM"))); } } }
static void Main(string[] args) { WeatherServiceClient client = new WeatherServiceClient(); Console.WriteLine("Välkommen till vädertjänsten!"); Console.Write("Vilken plats vill du veta vädret på? "); string location = Console.ReadLine(); WeatherData data = client.GetWeather(location); if (data == null) { Console.WriteLine("Kunde inte hitta något väder"); } else { Console.WriteLine("Vädret på " + data.Location + " är " + data.RiskOfRain + "% regnrisk och " + data.WindStrength + " m/s vind."); } Console.ReadKey(); }
public void GetWeather() { if (!_cache.Contains(City)) { var weatherService = new WeatherServiceClient(); ResultForecust = weatherService.GetWeather(City); var policy = new CacheItemPolicy { AbsoluteExpiration = DateTimeOffset.MaxValue }; _cache.Add(City, ResultForecust, policy); } else { var cacheItem = (WeatherForecust)_cache.GetCacheItem(City, null).Value; if (cacheItem.CurrentWeather[0].Data.From.AddHours(3) > DateTime.Now) { ResultForecust = cacheItem; } } CurrenWeather = CollectWeatherData(ResultForecust.CurrentWeather); WeatherForeCust = CollectWeatherData(ResultForecust.Forecast); }