Beispiel #1
0
        private void loadData()
        {
            try
            {
                City city = (City)cities.SelectedValue;
                cityName.Content    = city.name;
                countryName.Content = city.country;
                Forecast f = LoadForecast(city.id);

                currentTemp.Content   = Math.Round(f.list[0].main.temp) + "°C";
                conditionType.Content = f.list[0].weather[0].description;
                string iconID = f.list[0].weather[0].icon;

                var bitmap = new BitmapImage();
                bitmap.BeginInit();
                bitmap.UriSource = new Uri(System.IO.Path.GetFullPath(@"..\..\..\WeatherIcons\") + iconID + ".png");
                bitmap.EndInit();
                conditionImage.Source = bitmap;

                lastUpdateTime.Content = System.DateTime.Now.ToString();

                int index = getIndex(f.list[0].dt_txt);

                bitmap = new BitmapImage();
                string iconID1 = f.list[index].weather[0].icon;
                bitmap.BeginInit();
                bitmap.UriSource = new Uri(System.IO.Path.GetFullPath(@"..\..\..\WeatherIcons\") + iconID1 + ".png");
                bitmap.EndInit();
                conditionImage1.Source = bitmap;

                bitmap = new BitmapImage();
                string iconID2 = f.list[index + 8].weather[0].icon;
                bitmap.BeginInit();
                bitmap.UriSource = new Uri(System.IO.Path.GetFullPath(@"..\..\..\WeatherIcons\") + iconID2 + ".png");
                bitmap.EndInit();
                conditionImage2.Source = bitmap;

                bitmap = new BitmapImage();
                string iconID3 = f.list[index + 16].weather[0].icon;
                bitmap.BeginInit();
                bitmap.UriSource = new Uri(System.IO.Path.GetFullPath(@"..\..\..\WeatherIcons\") + iconID3 + ".png");
                bitmap.EndInit();
                conditionImage3.Source = bitmap;

                bitmap = new BitmapImage();
                string iconID4 = f.list[index + 24].weather[0].icon;
                bitmap.BeginInit();
                bitmap.UriSource = new Uri(System.IO.Path.GetFullPath(@"..\..\..\WeatherIcons\") + iconID4 + ".png");
                bitmap.EndInit();
                conditionImage4.Source = bitmap;



                day1Label.Content = DateTime.Parse(f.list[index].dt_txt).DayOfWeek;
                day2Label.Content = DateTime.Parse(f.list[index + 8].dt_txt).DayOfWeek;
                day3Label.Content = DateTime.Parse(f.list[index + 16].dt_txt).DayOfWeek;
                day4Label.Content = DateTime.Parse(f.list[index + 24].dt_txt).DayOfWeek;

                day1ContditionLabel.Content = f.list[index].weather[0].description;
                day2ContditionLabel.Content = f.list[index + 8].weather[0].description;
                day3ContditionLabel.Content = f.list[index + 16].weather[0].description;
                day4ContditionLabel.Content = f.list[index + 24].weather[0].description;

                List <double> minmax = getMinMax(f, index - 4);

                minTempDay.Content  = Math.Round(minmax[0]) + "°C";
                maxTempDay1.Content = Math.Round(minmax[1]) + "°C";

                minTempDay2.Content = Math.Round(minmax[2]) + "°C";
                maxTempDay2.Content = Math.Round(minmax[3]) + "°C";

                minTempDay3.Content = Math.Round(minmax[4]) + "°C";
                maxTempDay3.Content = Math.Round(minmax[5]) + "°C";

                minTempDay4.Content = Math.Round(minmax[6]) + "°C";
                maxTempDay4.Content = Math.Round(minmax[7]) + "°C";

                hour1Label.Content = f.list[1].dt_txt.Substring(11, 5);
                hour2Label.Content = f.list[2].dt_txt.Substring(11, 5);
                hour3Label.Content = f.list[3].dt_txt.Substring(11, 5);
                hour4Label.Content = f.list[4].dt_txt.Substring(11, 5);
                hour5Label.Content = f.list[5].dt_txt.Substring(11, 5);
                hour6Label.Content = f.list[6].dt_txt.Substring(11, 5);
                hour7Label.Content = f.list[7].dt_txt.Substring(11, 5);
                hour8Label.Content = f.list[8].dt_txt.Substring(11, 5);

                hour1Temp.Content = Math.Round(f.list[1].main.temp) + "°C";
                hour2Temp.Content = Math.Round(f.list[2].main.temp) + "°C";
                hour3Temp.Content = Math.Round(f.list[3].main.temp) + "°C";
                hour4Temp.Content = Math.Round(f.list[4].main.temp) + "°C";
                hour5Temp.Content = Math.Round(f.list[5].main.temp) + "°C";
                hour6Temp.Content = Math.Round(f.list[6].main.temp) + "°C";
                hour7Temp.Content = Math.Round(f.list[7].main.temp) + "°C";
                hour8Temp.Content = Math.Round(f.list[8].main.temp) + "°C";

                cityName.Visibility            = Visibility.Visible;
                countryName.Visibility         = Visibility.Visible;
                conditionLabel.Visibility      = Visibility.Visible;
                currentTemp.Visibility         = Visibility.Visible;
                conditionType.Visibility       = Visibility.Visible;
                conditionImage.Visibility      = Visibility.Visible;
                lastUpdateTime.Visibility      = Visibility.Visible;
                lastUpdateLabel.Visibility     = Visibility.Visible;
                conditionImage1.Visibility     = Visibility.Visible;
                conditionImage2.Visibility     = Visibility.Visible;
                conditionImage3.Visibility     = Visibility.Visible;
                conditionImage4.Visibility     = Visibility.Visible;
                day1Label.Visibility           = Visibility.Visible;
                day2Label.Visibility           = Visibility.Visible;
                day3Label.Visibility           = Visibility.Visible;
                day4Label.Visibility           = Visibility.Visible;
                day1ContditionLabel.Visibility = Visibility.Visible;
                day2ContditionLabel.Visibility = Visibility.Visible;
                day3ContditionLabel.Visibility = Visibility.Visible;
                day4ContditionLabel.Visibility = Visibility.Visible;
                minTempDay.Visibility          = Visibility.Visible;
                maxTempDay1.Visibility         = Visibility.Visible;
                minTempDay2.Visibility         = Visibility.Visible;
                maxTempDay2.Visibility         = Visibility.Visible;
                minTempDay3.Visibility         = Visibility.Visible;
                maxTempDay3.Visibility         = Visibility.Visible;
                minTempDay4.Visibility         = Visibility.Visible;
                maxTempDay4.Visibility         = Visibility.Visible;
                hour1Label.Visibility          = Visibility.Visible;
                hour1Temp.Visibility           = Visibility.Visible;
                hour2Label.Visibility          = Visibility.Visible;
                hour2Temp.Visibility           = Visibility.Visible;
                hour3Label.Visibility          = Visibility.Visible;
                hour3Temp.Visibility           = Visibility.Visible;
                hour4Label.Visibility          = Visibility.Visible;
                hour4Temp.Visibility           = Visibility.Visible;
                hour5Label.Visibility          = Visibility.Visible;
                hour5Temp.Visibility           = Visibility.Visible;
                hour6Label.Visibility          = Visibility.Visible;
                hour6Temp.Visibility           = Visibility.Visible;
                hour7Label.Visibility          = Visibility.Visible;
                hour7Temp.Visibility           = Visibility.Visible;
                hour8Label.Visibility          = Visibility.Visible;
                hour8Temp.Visibility           = Visibility.Visible;
                refreshButton.Visibility       = Visibility.Visible;
            }
            catch
            {
            }
        }
Beispiel #2
0
        private static List <double> getMinMax(Forecast f, int index)
        {
            List <double> temp = new List <double>();
            double        min  = f.list[index].main.temp_min;
            double        max  = f.list[index].main.temp_max;

            for (int i = index + 1; i < index + 8; i++)
            {
                if (f.list[i].main.temp_max > max)
                {
                    max = f.list[i].main.temp_max;
                }
                if (f.list[i].main.temp_min < min)
                {
                    min = f.list[i].main.temp_min;
                }
            }
            temp.Add(min);
            temp.Add(max);

            min = f.list[index + 8].main.temp_min;
            max = f.list[index + 8].main.temp_max;

            for (int i = index + 9; i < index + 16; i++)
            {
                if (f.list[i].main.temp_max > max)
                {
                    max = f.list[i].main.temp_max;
                }
                if (f.list[i].main.temp_min < min)
                {
                    min = f.list[i].main.temp_min;
                }
            }
            temp.Add(min);
            temp.Add(max);

            min = f.list[index + 16].main.temp_min;
            max = f.list[index + 16].main.temp_max;

            for (int i = index + 17; i < index + 24; i++)
            {
                if (f.list[i].main.temp_max > max)
                {
                    max = f.list[i].main.temp_max;
                }
                if (f.list[i].main.temp_min < min)
                {
                    min = f.list[i].main.temp_min;
                }
            }
            temp.Add(min);
            temp.Add(max);

            min = f.list[index + 24].main.temp_min;
            max = f.list[index + 24].main.temp_max;

            for (int i = index + 25; i < index + 32; i++)
            {
                if (f.list[i].main.temp_max > max)
                {
                    max = f.list[i].main.temp_max;
                }
                if (f.list[i].main.temp_min < min)
                {
                    min = f.list[i].main.temp_min;
                }
            }
            temp.Add(min);
            temp.Add(max);

            return(temp);
        }