示例#1
0
        public async Task Search(string searchTownName)
        {
            if (WeatherList == null || SelectedTown == null)
            {
                return;
            }

            var searchResult = await _dataAccess.SearchTownWeather(searchTownName);

            if (searchResult != null)
            {
                var townFromList = WeatherList.FirstOrDefault(n => n.TownName == searchResult.TownName);

                if (townFromList == null)
                {
                    WeatherList.Add(searchResult);

                    _townsRepository.SaveTownsList(townsList);

                    townFromList = WeatherList.FirstOrDefault(n => n.TownName == searchResult.TownName);
                }

                SelectedTown   = townFromList;
                TownName       = townFromList.TownName;
                CurrentWeather = townFromList.CurrentWeather;
                WeatherToday   = townFromList.WeatherToday;
            }
            else
            {
                MessageBox.Show(SettingsRes.text_TownNotFound);
            }
        }
        private async void btnGetTemperature_Click(object sender, RoutedEventArgs e)
        {
            var result = await DeviceService.SendMessageAsync(deviceClient);

            try
            {
                weatherList.Add(new WeatherModel(result, ""));
                ListWeatherList.ItemsSource = weatherList;
            }
            catch { }
        }
        private async Task LoadWeatherData()
        {
            WeatherList.Clear();
            IsLoading = true;
            var list = await new WeatherForecastService().GetWeatherInfo(City.Longitude, City.Latitude);

            IsLoading = false;
            foreach (var item in list)
            {
                WeatherList.Add(item);
            }
        }
示例#4
0
        private async void btnSendMessageAsync_Click(object sender, RoutedEventArgs e)
        {
            var result = await DeviceServices.SendMessageAsync(deviceClient);

            dynamic data = JObject.Parse(result);

            var temp = Convert.ToString(data.Temperature);
            var hum  = Convert.ToString(data.Humidity);

            DeviceServices.ReceiveMessageAsync(deviceClient).GetAwaiter();

            try
            {
                weatherlist.Add(new TempratureModel($"Temeprature: {temp}", $"Humidity: {hum}"));
            }
            catch
            {
            }
        }
示例#5
0
        public void SetWeatherForXDays(int days, int nFractionalDigits)
        {
            double      maxPerimeter    = 0.0; //Maximum perimeter
            int         maxRainDay      = -1;  //Day of maximum rain
            WeatherEnum lastWeatherType = 0;   //Last weather type

            //Sort planets by distance to star in descending order
            Planets.Sort((planet1, planet2) => planet2.StarDistance.CompareTo(planet1.StarDistance));

            for (int day = 1; day <= days; day++)
            {
                Weather weather = GetWeather(day, ref maxPerimeter, ref maxRainDay, nFractionalDigits);
                WeatherList.Add(weather);

                if (weather.WeatherType != lastWeatherType)
                {
                    lastWeatherType = AddWeatherPeriod(weather.WeatherType); //Set new weather type as last weather type
                }
            }

            SetMaxRain(WeatherList, maxRainDay);
        }
示例#6
0
        public QueryResponse(string jsonResponse)
        {
            var jsonData = JObject.Parse(jsonResponse);

            if (jsonData.SelectToken("cod").ToString() == "200")
            {
                ValidRequest = true;
                Coordinates  = new Coordinates(jsonData.SelectToken("coord"));
                foreach (JToken weather in jsonData.SelectToken("weather"))
                {
                    WeatherList.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;
            }
        }