Пример #1
0
        private void button2_Click(object sender, EventArgs e)
        {
            city = txtCity.Text;

            currentday = 0;

            panelhourly.Visible        = true;
            temperature.Visible        = false;
            forecastminamxtemp.Visible = false;
            fellslike.Visible          = true;
            feelslikelabel.Visible     = true;
            forecastdaypicture.Visible = false;
            label1.Visible             = true;
            label2.Visible             = true;
            sunrise.Visible            = true;
            sunset.Visible             = true;
            moonrise.Visible           = true;
            moonset.Visible            = true;
            txtCurrentTemp.Visible     = true;



            prov.GetCurrentXML(city);
            prov.GetForecastXML(city);

            txtCurrentTemp.Text = $"{prov.GetCurrentForecast(city, "temp_c")}°C";
            pictureBox1.Image   = prov.GetCurrentIcon(city);
            txtCityCountry.Text = prov.GetCityCountry(city);
            button1.Text        = prov.GetCurrentDay(city);
            windspeed.Text      = prov.GetCurrentForecast(city, "wind_kph");
            percipitation.Text  = prov.GetCurrentForecast(city, "precip_mm");
            humidity.Text       = prov.GetCurrentForecast(city, "humidity");
            uvrating.Text       = prov.GetCurrentForecast(city, "uv");
            fellslike.Text      = $"{prov.GetCurrentForecast(city, "feelslike_c")}°C";
            sunrise.Text        = prov.GetSelectedForecast(city, 0, "sunrise");
            sunset.Text         = prov.GetSelectedForecast(city, 0, "sunset");
            moonrise.Text       = prov.GetSelectedForecast(city, 0, "moonrise");
            moonset.Text        = prov.GetSelectedForecast(city, 0, "moonset");

            int caseSwitch = 0;

            foreach (string formattedday in prov.GetForecastDays(city))
            {
                switch (caseSwitch)
                {
                case 0:
                    dayboxFirst.Text = formattedday;
                    caseSwitch++;
                    break;

                case 1:
                    dayboxSecond.Text = formattedday;
                    caseSwitch++;
                    break;

                case 2:
                    dayboxThird.Text = formattedday;
                    caseSwitch       = 0;
                    break;

                default:
                    Console.WriteLine("Default case");
                    break;
                }
            }
            foreach (Bitmap forecastIcon in prov.GetForecastIcon())
            {
                switch (caseSwitch)
                {
                case 0:
                    pictureBoxFirst.Image = forecastIcon;
                    caseSwitch++;
                    break;

                case 1:
                    pictureBoxSecond.Image = forecastIcon;
                    caseSwitch++;
                    break;

                case 2:
                    pictureBoxThird.Image = forecastIcon;
                    caseSwitch            = 0;
                    break;

                default:
                    Console.WriteLine("Default case");
                    break;
                }
            }
            foreach (string forecasttemp in prov.GetForecastTemp(city, "maxtemp_c"))
            {
                switch (caseSwitch)
                {
                case 0:
                    Temp1.Text = $"{forecasttemp}°C";
                    caseSwitch++;
                    break;

                case 1:
                    Temp2.Text = $"{forecasttemp}°C";
                    caseSwitch++;
                    break;

                case 2:
                    Temp3.Text = $"{forecasttemp}°C";
                    caseSwitch++;
                    break;

                default:
                    Console.WriteLine("Default case");
                    break;
                }
            }
        }