Ejemplo n.º 1
0
        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")));
                }
            }
        }
Ejemplo n.º 2
0
        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();
        }
Ejemplo n.º 3
0
        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);
        }