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 } )); }
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)); }
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); } }
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)); }
/// <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); }