private void btnIzracunaj_Click(object sender, EventArgs e)
        {
            if (comboBoxVremenskaS.SelectedItem == null)
            {
                MessageBox.Show("Niste izabrali ni jednu stanicu! Molimo Vas izaberite stanicu.", "Obavestenje", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return;
            }

            PribaviPodatkeZaVremenskuStanicu();
            brojac = 0;

            var connectionString = "mongodb://localhost/?safe=true";
            var server           = MongoServer.Create(connectionString);
            var db = server.GetDatabase("MongoNBP");

            // KOLEKCIJE "vremenski_parametri" i "merenja"
            var collectionParametri = db.GetCollection <VremenskiParametar>("vremenski_parametri");
            var collectionMerenja   = db.GetCollection <Merenje>("merenja");

            // Punimo nizMerenja
            foreach (MongoDBRef merenjaRef in vs.IzmereneVrednosti.ToList())
            {
                Merenje m = db.FetchDBRefAs <Merenje>(merenjaRef);
                nizMerenja.Add(m);

                Temperatura     t  = db.FetchDBRefAs <Temperatura>(m.TempData);
                Padavine        p  = db.FetchDBRefAs <Padavine>(m.PadavineData);
                VlaznostVazduha vv = db.FetchDBRefAs <VlaznostVazduha>(m.VlaznostData);

                nizTemperatura.Add(t);
                nizPadavine.Add(p);
                nizVlaznostVazduha.Add(vv);

                brojac++;
            }

            //Gleda se u odnosu na zadnjih n merenja
            nizTemperatura.Reverse();
            nizPadavine.Reverse();
            nizVlaznostVazduha.Reverse();

            if (numBrMerenja.Value > brojac)
            {
                MessageBox.Show("Uneli ste veci broj merenja od postojecih u bazi podataka (Trenutno postoji: " + brojac + " merenja!)", "Upozorenje", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }

            double zbirT = 0, zbirP = 0, zbirVV = 0;

            for (int i = 0; i < numBrMerenja.Value; i++)
            {
                zbirT  += nizTemperatura[i].Vrednost;
                zbirP  += nizPadavine[i].Vrednost;
                zbirVV += nizVlaznostVazduha[i].Vrednost;
            }

            txbTemperatura.Text = (zbirT / (double)numBrMerenja.Value).ToString();
            txbPadavine.Text    = (zbirP / (double)numBrMerenja.Value).ToString();
            txbVlaznost.Text    = (zbirVV / (double)numBrMerenja.Value).ToString();
        }
Esempio n. 2
0
        public void PribaviPodatke()
        {
            brojac = 0;

            nizTemperatura.Clear();
            nizPadavine.Clear();
            nizVlaznostVazduha.Clear();

            logNizTemperatura.Clear();
            logNizPadavine.Clear();
            logNizVlaznostVazduha.Clear();

            var connectionString = "mongodb://localhost/?safe=true";
            var server           = MongoServer.Create(connectionString);
            var db = server.GetDatabase("MongoNBP");

            // KOLEKCIJE "vremenski_parametri" i "merenja"
            var collectionPadavine = db.GetCollection <VremenskiParametar>("vremenski_parametri");
            var collectionMerenja  = db.GetCollection <Merenje>("merenja");

            // Punimo nizMerenja
            foreach (MongoDBRef merenjaRef in vs.IzmereneVrednosti.ToList())
            {
                Merenje m = db.FetchDBRefAs <Merenje>(merenjaRef);
                nizMerenja.Add(m);

                Temperatura     t  = db.FetchDBRefAs <Temperatura>(m.TempData);
                Padavine        p  = db.FetchDBRefAs <Padavine>(m.PadavineData);
                VlaznostVazduha vv = db.FetchDBRefAs <VlaznostVazduha>(m.VlaznostData);

                nizTemperatura.Add(t.Vrednost);
                nizPadavine.Add(p.Vrednost);
                nizVlaznostVazduha.Add(vv.Vrednost);

                if (Math.Log(t.Vrednost) > 0)
                {
                    logNizTemperatura.Add(Math.Log(t.Vrednost));
                }
                if (Math.Log(p.Vrednost) > 0)
                {
                    logNizPadavine.Add(Math.Log(p.Vrednost));
                }
                if (Math.Log(vv.Vrednost) > 0)
                {
                    logNizVlaznostVazduha.Add(Math.Log(vv.Vrednost));
                }

                brojac++;
            }
        }
Esempio n. 3
0
        private void BtnExportTxt_Click(object sender, EventArgs e)
        {
            if (comboBox1.SelectedItem == null)
            {
                MessageBox.Show("Niste izabrali ni jednu stanicu! Molimo Vas izaberite stanicu.", "Obavestenje", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return;
            }

            saveFile.ShowDialog();
            if (saveFile.FileName != "")
            {
                PribaviPodatkeZaVremenskuStanicu();
                var connectionString = "mongodb://localhost/?safe=true";
                var server           = MongoServer.Create(connectionString);
                var db = server.GetDatabase("MongoNBP");

                // KOLEKCIJE "vremenski_parametri" i "merenja"
                var collectionParametri = db.GetCollection <VremenskiParametar>("vremenski_parametri");
                var collectionMerenja   = db.GetCollection <Merenje>("merenja");
                if (vs.IzmereneVrednosti.ToList().Count != 0)
                {
                    foreach (MongoDBRef merenjaRef in vs.IzmereneVrednosti.ToList())
                    {
                        Merenje m = db.FetchDBRefAs <Merenje>(merenjaRef);

                        Temperatura     t  = db.FetchDBRefAs <Temperatura>(m.TempData);
                        Padavine        p  = db.FetchDBRefAs <Padavine>(m.PadavineData);
                        VlaznostVazduha vv = db.FetchDBRefAs <VlaznostVazduha>(m.VlaznostData);
                        using (System.IO.StreamWriter file = new System.IO.StreamWriter(saveFile.FileName + ".txt", true))
                        {
                            file.WriteLine("Merenje ID: " + m.Id + " Vreme merenja: " + m.Log);
                            file.WriteLine("");
                            file.WriteLine("Temeratura:       " + t.Vrednost);
                            file.WriteLine("Padavine:         " + p.Vrednost);
                            file.WriteLine("Vlaznost Vazduha: " + vv.Vrednost);
                            file.WriteLine("");
                        }
                    }
                    MessageBox.Show("Uspesno je kreiran fajl i ekportovane vrednosti!", "Obavestenje", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    this.Close();
                }
                else
                {
                    MessageBox.Show("Vremenska stanica " + vs.ToString() + " nema izmerenih vrednosti! Pokusajte sa drugom stanicom.", "Greska", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
        }
        private void btnProsledi_Click(object sender, EventArgs e)
        {
            if (chbGranice.Checked == false)
            {
                if (!Validacija())
                {
                    return;
                }
            }

            var connectionString = "mongodb://localhost/?safe=true";
            var server           = MongoServer.Create(connectionString);
            var db = server.GetDatabase("MongoNBP");

            // KOLEKCIJA "vremenski_parametri"
            var collectionParametri = db.GetCollection <VremenskiParametar>("vremenski_parametri");

            Temperatura     temp   = new Temperatura(vs.minTemperatura, vs.maxTemperatura, (double)numTemperatura.Value, new MongoDBRef("zaposleni", zaposleni.Id));
            Padavine        pad    = new Padavine(vs.minPadavine, vs.maxPadavine, (double)numPadavine.Value, new MongoDBRef("zaposleni", zaposleni.Id));
            VlaznostVazduha VlVazd = new VlaznostVazduha(vs.minVlaznost, vs.maxVlaznost, (double)numVlaznost.Value, new MongoDBRef("zaposleni", zaposleni.Id));

            if (txbNapomena.Text != "")
            {
                temp.Napomena = txbNapomena.Text;
            }
            if (chbDa.Checked == true)
            {
                pad.opasnostOdPoplava = true;
            }
            if (chbNe.Checked == true)
            {
                pad.opasnostOdPoplava = false;
            }
            if (numProcenti.Value != 0)
            {
                VlVazd.Procentualno = (float)numProcenti.Value;
            }

            collectionParametri.Insert(temp);
            collectionParametri.Insert(pad);
            collectionParametri.Insert(VlVazd);

            // KOLEKCIJA "merenja"
            var collectionMerenja = db.GetCollection <Merenje>("merenja");

            Merenje merenje = new Merenje(new MongoDBRef("vremenski_parametri", temp.Id), new MongoDBRef("vremenski_parametri", VlVazd.Id), new MongoDBRef("vremenski_parametri", pad.Id));

            collectionMerenja.Insert(merenje);

            // KOLEKCIJA "vremenske_stanice"
            var collectionVremenskeStanice = db.GetCollection <VremenskaStanica>("vremenske_stanice");

            vs.IzmereneVrednosti.Add(new MongoDBRef("merenja", merenje.Id));
            collectionVremenskeStanice.Save(vs);

            if (chbAutomatskoGenerisanjePodataka.Checked)
            {
                brojac = 0;
                //MessageBox.Show("Automatski su uneti podaci novog merenja!", "Upozorenje", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            else
            {
                MessageBox.Show("Uspesno ste uneli podatke novog merenja!", "Upozorenje", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
        }
Esempio n. 5
0
        private void btnPrikazi_Click(object sender, EventArgs e)
        {
            txbPadavine.Text    = "";
            txbTemperatura.Text = "";
            txbVlaznost.Text    = "";
            nizPadavina.Clear();
            nizTemperatura.Clear();
            nizVlaznost.Clear();
            if (cmbStanice.SelectedItem == null)
            {
                MessageBox.Show("Niste izabrali ni jednu stanicu! Molimo Vas izaberite stanicu.", "Obavestenje", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return;
            }

            PribaviPodatkeZaVremenskuStanicu();


            var connectionString = "mongodb://localhost/?safe=true";
            var server           = MongoServer.Create(connectionString);
            var db = server.GetDatabase("MongoNBP");

            // KOLEKCIJE "vremenski_parametri" i "merenja"
            var collectionParametri = db.GetCollection <VremenskiParametar>("vremenski_parametri");
            var collectionMerenja   = db.GetCollection <Merenje>("merenja");

            // Punimo nizMerenja
            foreach (MongoDBRef merenjaRef in vs.IzmereneVrednosti.ToList())
            {
                Merenje         m  = db.FetchDBRefAs <Merenje>(merenjaRef);
                Temperatura     t  = db.FetchDBRefAs <Temperatura>(m.TempData);
                Padavine        p  = db.FetchDBRefAs <Padavine>(m.PadavineData);
                VlaznostVazduha vv = db.FetchDBRefAs <VlaznostVazduha>(m.VlaznostData);

                nizTemperatura.Add(t);
                nizPadavina.Add(p);
                nizVlaznost.Add(vv);
            }


            nizTemperatura.Reverse();
            nizPadavina.Reverse();
            nizVlaznost.Reverse();

            foreach (Temperatura t in nizTemperatura)
            {
                if (t.Napomena != null)
                {
                    txbTemperatura.Text += t.ToString() + Environment.NewLine;
                }
            }

            foreach (Padavine p in nizPadavina)
            {
                txbPadavine.Text += p.ToString() + Environment.NewLine;
            }

            foreach (VlaznostVazduha v in nizVlaznost)
            {
                if (v.Procentualno != 0)
                {
                    txbVlaznost.Text += v.ToString() + Environment.NewLine;
                }
            }
        }