Beispiel #1
0
        private void comboBoxLocation1_SelectedIndexChanged(object sender, EventArgs e)
        {
            //laad de plaats uit de combobox als de index veranderd
            //En geeft deze plaats mee naar de WeerPlaats functie
            //Die de api data als een weer object terug geeft.
            string plaats = comboBoxLocation1.Text;

            // check of de plaats wel een waarde is
            if (plaats != "")
            {
                weer = Weer.WeerPlaats(plaats);
                fillLabels(weer);
            }
        }
Beispiel #2
0
        public static Weer WeerPlaats(string plaats)
        {
            //Make a httpClient for getting api data
            HttpClient client = new HttpClient();

            //Url for api + key + plaats
            client.BaseAddress = new Uri("https://weerlive.nl/api/json-data-10min.php?key=" + API_KEY + "&locatie=" + plaats);
            //Async response
            HttpResponseMessage response = client.GetAsync("").Result;
            //Response naar variabele Liveweer
            var result = response.Content.ReadAsStringAsync().Result;
            //Weer object van api data liveweer 0 anders hebben wij een array met data erin.
            Weer rWeer = JsonConvert.DeserializeObject <Root>(result).liveweer[0];

            rWeer.plaatsNaam = plaats;
            rWeer.datum      = DateTime.Now;

            //Kijk of het weer nog niet voorkomt in de lijst.
            if (!weerList.Contains(rWeer) && i != 0)
            {
                weerList.Add(rWeer);
            }
            else if (!weerList.Contains(rWeer) && i == 0)
            {
                weerList.Add(rWeer);
            }

            //Maak een weer array met de lengthe van de weerlijst
            Weer[] weerArray = new Weer[weerList.Count];
            int    j         = 0;

            //add weerlijst objecten in de weer array
            foreach (Weer weer in weerList)
            {
                weerArray[j] = weer;
                j++;
            }
            i++;
            //serialize de weer array
            string x = JsonConvert.SerializeObject(weerArray, Formatting.Indented);

            //Schrijf naar file
            File.WriteAllText(path_Weer, x);
            //Return weer naar Programma zodat we de data kunnen laten zien.
            return(rWeer);
        }
Beispiel #3
0
        public void fillLabels(Weer p)
        {
            Console.WriteLine(p.d0weer);
            string pathToImage = getCorrectImage(p.d0weer);

            pictureBoxAlgemeen.Image  = Image.FromFile(pathToImage);
            metroLabelHetWeerVan.Text = $"Het weer van {comboBoxLocation1.Text}";
            metroLabelTemp.Text       = p.temp + " °C";
            metroLabelgTemp.Text      = $"Voelt als : {p.gtemp} °C";
            metroLabelSamenv.Text     = p.samenv;
            metroLabelWind.Text       = $"Wind : {p.winds} bft | {p.windk} knoppen | {p.windms} m/s | {p.windkmh} km/h";
            metroLabelLuchtd.Text     = $"Luchtdruk : {p.luchtd} hPa";
            metroLabelZicht.Text      = $"Zicht : {p.zicht} Kilometer";
            metroLabelLv.Text         = $"Relatieve luchtvochtigheid : {p.lv} %";
            metroLabelDauwp.Text      = $"Dauwpunt : {p.dauwp} °C";
            metroLabelWeerv.Text      = $"{p.verw}";

            metroLabelHetWeerIn2.Text = $"Het weer van {p.plaats}";

            metroLabelD0max.Text = $"{p.d0tmax} °C";
            metroLabelD0gem.Text = $"{gemiddeldeTemp(p.d0tmax, p.d0tmin)} °C";
            metroLabelD0min.Text = $"{p.d0tmin} °C";

            metroLabelD1max.Text = $"{p.d1tmax} °C";
            metroLabelD1gem.Text = $"{gemiddeldeTemp(p.d1tmax, p.d1tmin)} °C";
            metroLabelD1min.Text = $"{p.d1tmin} °C";

            metroLabelD2max.Text = $"{p.d2tmax} °C";
            metroLabelD2gem.Text = $"{gemiddeldeTemp(p.d2tmax, p.d2tmin)} °C";
            metroLabelD2min.Text = $"{p.d2tmin} °C";

            pictureBoxD0weer.Image = Image.FromFile(pathToImage);

            pictureBoxD1weer.Image = Image.FromFile(getCorrectImage(p.d1weer));
            pictureBoxD2weer.Image = Image.FromFile(getCorrectImage(p.d2weer));

            metroLabelDatum.Text = p.datum.ToString("dd MMMM yyy");
        }