Ejemplo n.º 1
0
        public ViewResult DodajRadnoVreme(KontrolerViewModel kontrolerViewModel)
        {
            if (ModelState.IsValid)
            {
                Vreme nv = new Vreme {
                    RadnaStanica = repozitorijum.RadneStanice
                                   .FirstOrDefault(rs => rs.RadnaStanicaId == kontrolerViewModel.RadnaStanicaId),
                    DateTime = kontrolerViewModel.DateTime
                };

                Kontroler dbKontroler = repozitorijum.Kontroleri.Include(p => p.Raspored).ThenInclude(p => p.RadnaStanica)
                                        .FirstOrDefault(k => k.KontrolerId == kontrolerViewModel.KontorlerId);

                dbKontroler.Raspored.Add(nv);

                //repozitorijum.Add(nv);
                //repozitorijum.Attach(dbKontroler);

                repozitorijum.SaveChanges();

                TempData["message"] = $"Vreme sačuvano!";
            }

            return(View(
                       new KontrolerViewModel {
                KontorlerId = kontrolerViewModel.KontorlerId,
                RadneStanice = repozitorijum.RadneStanice
            }
                       ));
        }
Ejemplo n.º 2
0
        public ActionResult Index()
        {
            Vreme  podatki = BralnikXML.Branje();
            string stopnja = BralnikXML.Alarm();

            //16.01.2018 15:30 CEST
            //16.01.2018 1:30 CEST
            //0123456789012345678901   !!!
            //16.01.2018 19:30 CET
            //16.01.2018 9:30 CET
            if (podatki != null)
            {
                string zadnjiDatum = podatki.Datum;
                if (podatki.Datum.Contains("CEST"))
                {
                    //16.01.2018 15:30 CEST
                    //16.01.2018 1:30 CEST
                    //0123456789012345678901   !!!
                    if (zadnjiDatum.Length == 21)
                    {
                        int      dan    = int.Parse(zadnjiDatum.Substring(0, 2));
                        int      mesec  = int.Parse(zadnjiDatum.Substring(3, 2));
                        int      leto   = int.Parse(zadnjiDatum.Substring(6, 4));
                        int      ura    = int.Parse(zadnjiDatum.Substring(11, 2));
                        int      minuta = int.Parse(zadnjiDatum.Substring(14, 2));
                        DateTime datum  = new DateTime(leto, mesec, dan, ura, minuta, 0);
                        ViewData["datum"] = datum;
                        if (datum.Hour > 20 | datum.Hour < 5)
                        {
                            ViewData["delDan"] = "night";
                        }
                        else
                        {
                            ViewData["deldan"] = "day";
                        }
                    }
                    else
                    {
                        int      dan    = int.Parse(zadnjiDatum.Substring(0, 2));
                        int      mesec  = int.Parse(zadnjiDatum.Substring(3, 2));
                        int      leto   = int.Parse(zadnjiDatum.Substring(6, 4));
                        int      ura    = int.Parse(zadnjiDatum.Substring(11, 1));
                        int      minuta = int.Parse(zadnjiDatum.Substring(13, 2));
                        DateTime datum  = new DateTime(leto, mesec, dan, ura, minuta, 0);
                        ViewData["datum"] = datum;
                        if (datum.Hour > 20 | datum.Hour < 5)
                        {
                            ViewData["delDan"] = "night";
                        }
                        else
                        {
                            ViewData["deldan"] = "day";
                        }
                    }
                }
                else
                {
                    //0123456789012345678901   !!!
                    //16.01.2018 19:30 CET
                    //16.01.2018 9:30 CET
                    if (zadnjiDatum.Length == 20)
                    {
                        int      dan    = int.Parse(zadnjiDatum.Substring(0, 2));
                        int      mesec  = int.Parse(zadnjiDatum.Substring(3, 2));
                        int      leto   = int.Parse(zadnjiDatum.Substring(6, 4));
                        int      ura    = int.Parse(zadnjiDatum.Substring(11, 2));
                        int      minuta = int.Parse(zadnjiDatum.Substring(14, 2));
                        DateTime datum  = new DateTime(leto, mesec, dan, ura, minuta, 0);
                        ViewData["datum"] = datum;
                        if (datum.Hour > 20 | datum.Hour < 5)
                        {
                            ViewData["delDan"] = "night";
                        }
                        else
                        {
                            ViewData["deldan"] = "day";
                        }
                    }
                    else
                    {
                        int      dan    = int.Parse(zadnjiDatum.Substring(0, 2));
                        int      mesec  = int.Parse(zadnjiDatum.Substring(3, 2));
                        int      leto   = int.Parse(zadnjiDatum.Substring(6, 4));
                        int      ura    = int.Parse(zadnjiDatum.Substring(11, 1));
                        int      minuta = int.Parse(zadnjiDatum.Substring(13, 2));
                        DateTime datum  = new DateTime(leto, mesec, dan, ura, minuta, 0);
                        ViewData["datum"] = datum;
                        if (datum.Hour > 20 | datum.Hour < 5)
                        {
                            ViewData["delDan"] = "night";
                        }
                        else
                        {
                            ViewData["deldan"] = "day";
                        }
                    }
                }

                ViewData["temp"]    = podatki.Temperatura;
                ViewData["smer"]    = podatki.SmerV;
                ViewData["vlaga"]   = podatki.Vlaga;
                ViewData["moc"]     = podatki.MocV;
                ViewData["hitrost"] = podatki.HitrostV;

                if (podatki.Oblacnost == "")
                {
                    ViewData["oblacnost"] = "unknown";
                }
                else
                {
                    ViewData["oblacnost"] = podatki.Oblacnost;
                }

                ViewData["pojavi"] = podatki.Pojavi;
            }  //vreme
            else
            {
                DateTime datum = DateTime.Now;
                ViewData["datum"] = datum;
                if (datum.Hour > 20 | datum.Hour < 5)
                {
                    ViewData["delDan"] = "night";
                }
                else
                {
                    ViewData["deldan"] = "day";
                }

                ViewData["temp"]      = "?";
                ViewData["smer"]      = "?";
                ViewData["vlaga"]     = "?";
                ViewData["moc"]       = "?";
                ViewData["hitrost"]   = "?";
                ViewData["oblacnost"] = "";
                ViewData["pojavi"]    = "";
            }
            if (stopnja != null)
            {
                if (stopnja.Contains("1/4") == true)
                {
                    ViewData["stopnja"] = "prvastopnja";
                }
                else
                if (stopnja.Contains("2/4") == true)
                {
                    ViewData["stopnja"] = "drugastopnja";
                }
                else
                if (stopnja.Contains("3/4") == true)
                {
                    ViewData["stopnja"] = "tretjastopnja";
                }
                else
                if (stopnja.Contains("4/4") == true)
                {
                    ViewData["stopnja"] = "cetrtastopnja";
                }
                else
                {
                    ViewData["stopnja"] = "nistopnje";
                }
            }    //alarm
            else
            {
                ViewData["stopnja"] = "nistopnje";
            }

            var data = from element in db1.Podatkis
                       group element by element.IdPostaje
                       into groups
                       orderby groups.Key
                       select groups.OrderByDescending(p => p.Id).FirstOrDefault();

            return(View(data));
        }
Ejemplo n.º 3
0
        public static Vreme Branje()
        {
            HttpClient client = new HttpClient();

            client.DefaultRequestHeaders.Accept.Add(
                new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/xml"));

            HttpResponseMessage response = client.GetAsync(new Uri("http://meteo.arso.gov.si/uploads/probase/www/observ/surface/text/sl/observation_NOVA-GOR_latest.xml")).Result;

            if (response.IsSuccessStatusCode)
            {
                try
                {
                    Vreme  podatek   = new Vreme();
                    var    xmlMeteo  = response.Content.ReadAsStreamAsync().Result;
                    string xmlString = new StreamReader(xmlMeteo).ReadToEnd();
                    using (XmlReader reader = XmlReader.Create(new StringReader(xmlString)))
                    {
                        while (reader.Read())
                        {
                            if (reader.IsStartElement())
                            {
                                switch (reader.Name)
                                {
                                case "valid":
                                    podatek.Datum = reader.ReadElementContentAsString();
                                    break;

                                case "t":
                                    podatek.Temperatura = reader.ReadElementContentAsString();
                                    break;

                                case "rh":
                                    podatek.Vlaga = reader.ReadElementContentAsString();
                                    break;

                                case "nn_icon":
                                    podatek.Oblacnost = reader.ReadElementContentAsString();
                                    break;

                                case "wwsyn_icon":
                                    podatek.Pojavi = reader.ReadElementContentAsString();
                                    break;

                                case "dd_icon":
                                    podatek.SmerV = reader.ReadElementContentAsString();
                                    break;

                                case "ff_val_kmh":
                                    podatek.HitrostV = reader.ReadElementContentAsString();
                                    break;

                                case "ff_icon":
                                    podatek.MocV = reader.ReadElementContentAsString();
                                    break;
                                }
                            }
                        }
                    }
                    return(podatek);
                }
                catch { return(null); }
            }
            else
            {
                return(null);
            }
        }
Ejemplo n.º 4
0
        public ActionResult Index()
        {
            Vreme podatki = BranjeXML.Branje();

            if (podatki != null)
            {
                string   zadnjiDatum = podatki.Date.ToString();
                DateTime datum       = DateTime.Parse(zadnjiDatum);
                ViewData["datum"] = datum;
                if (datum.Hour > 20 | datum.Hour < 5)
                {
                    ViewData["delDan"] = "night";
                }
                else
                {
                    ViewData["deldan"] = "day";
                }
            }
            ViewData["temp"]      = podatki.Temp2;
            ViewData["vlaga"]     = podatki.Humidity2;
            ViewData["padavine"]  = podatki.Precipitation; //preveri, ko je dež
            ViewData["omocenost"] = podatki.Leafwetness2;
            List <VsiPodatki> dataVsi  = new List <VsiPodatki>();
            List <decimal>    padavine = new List <decimal>(); //kolikor je mm je l na m2, greda ima velikost??
            List <decimal>    nam2     = new List <decimal>();
            var data = from element in ge.PodatkiSenzorjev
                       group element by element.IdGrede
                       into groups
                       orderby groups.Key
                       select groups.OrderByDescending(p => p.Cas).FirstOrDefault();

            var data1 = from element in ge.PodatkiVnos
                        group element by element.IDGrede
                        into g
                        orderby g.Key
                        select g.OrderByDescending(p => p.DatumVnosa).FirstOrDefault();

            var data5 = data1.ToList();
            var data2 = (from a in ge.PodatkiVnos
                         where a.IDGrede == 1
                         orderby a.DatumVnosa descending
                         select a).Take(2).ToList();
            TimeSpan š0     = DateTime.Now - data2.ElementAt(0).DatumVnosa;
            int      štDni0 = š0.Days + 1;

            decimal izračunNam2 = 0;

            //preveri, če je bil vmes reset števca
            if (data2.ElementAt(0).NovoStanje - data2.ElementAt(1).NovoStanje > 0)
            {
                izračunNam2 = (data2.ElementAt(0).NovoStanje - data2.ElementAt(1).NovoStanje) / 2.4m;
            }
            else
            {
                izračunNam2 = data2.ElementAt(0).NovoStanje / 2.4m;
            }
            nam2.Add(izračunNam2 / štDni0);
            var data3 = (from a in ge.PodatkiVnos
                         where a.IDGrede == 2
                         orderby a.DatumVnosa descending
                         select a).Take(2).ToList();
            TimeSpan š1     = DateTime.Now - data3.ElementAt(0).DatumVnosa;
            int      štDni1 = š1.Days + 1;

            if (data3.ElementAt(0).NovoStanje - data3.ElementAt(1).NovoStanje > 0)
            {
                izračunNam2 = (data3.ElementAt(0).NovoStanje - data3.ElementAt(1).NovoStanje) / 2.4m;
            }
            else
            {
                izračunNam2 = data3.ElementAt(0).NovoStanje / 2.4m;
            }
            nam2.Add(izračunNam2 / štDni1);
            var data4 = (from a in ge.PodatkiVnos
                         where a.IDGrede == 3
                         orderby a.DatumVnosa descending
                         select a).Take(2).ToList();
            TimeSpan š2     = DateTime.Now - data4.ElementAt(0).DatumVnosa;
            int      štDni2 = š2.Days + 1;

            if (data4.ElementAt(0).NovoStanje - data4.ElementAt(1).NovoStanje > 0)
            {
                izračunNam2 = (data4.ElementAt(0).NovoStanje - data4.ElementAt(1).NovoStanje) / 2.4m;
            }
            else
            {
                izračunNam2 = data4.ElementAt(0).NovoStanje / 2.4m;
            }
            nam2.Add(izračunNam2 / štDni2);

            foreach (var x1 in data1)
            {
                DateTime d1     = x1.DatumVnosa;
                DateTime d2     = DateTime.Now;
                decimal  skupaj = BranjeXML.BranjePadavin(d1, d2);
                padavine.Add(skupaj);
            }
            //predpostavimo, da bi število dni isto
            int k = 0;

            foreach (var x in data)
            {
                VsiPodatki y = new VsiPodatki();
                y.Cas     = x.Cas;
                y.IdGrede = x.IdGrede;
                y.Id      = x.Id;
                y.Temp1   = x.Temp1;
                y.Temp2   = x.Temp2;
                y.Temp3   = x.Temp3;
                y.Vlaga   = x.Vlaga;
                if (k == 0)
                {
                    y.KoličinaPadavin = padavine.ElementAt(k) / štDni0;
                }
                if (k == 1)
                {
                    y.KoličinaPadavin = padavine.ElementAt(k) / štDni1;
                }
                if (k == 2)
                {
                    y.KoličinaPadavin = padavine.ElementAt(k) / štDni2;
                }
                y.DatumVnosa    = data5.ElementAt(k).DatumVnosa;
                y.ZalivanjeNam2 = nam2.ElementAt(k);
                y.SkupajVoda    = y.ZalivanjeNam2 + y.KoličinaPadavin;
                dataVsi.Add(y);
                k++;
            }

            return(View(dataVsi));
        }
Ejemplo n.º 5
0
        /// <summary>
        /// Representing method which save data
        /// </summary>
        /// <returns></returns>
        public string Save()
        {
            string text = ID + ";" + Vreme.ToString("dd/MM/yyyy") + ";" + Mesto + ";" + Naziv + ";" + Sport + ";" + BrojUlaznica;

            return(text);
        }