private void fillPageWithAlert(int index) { var t = _context.TemperatureSekv.Where(x => x.TeplSekvId == index).First(); Helpers.SekvenceHelper.LimitCheck loader = new Helpers.SekvenceHelper.LimitCheck(); DateTime convertedDate = DateTime.Parse(t.TimeStart); String durationTime = null; String endTimeString = "NA"; String endDateString = ""; try { DateTime endtime = DateTime.Parse(t.TimeClose); double time = (endtime - convertedDate).TotalMinutes; var x = time - Math.Truncate(time); durationTime = Math.Truncate(time).ToString() + " min " + Math.Round(x * 60).ToString() + " sec"; endDateString = endtime.ToLongDateString(); endTimeString = endtime.ToLongTimeString(); } catch (Exception e) { System.Diagnostics.Debug.WriteLine("Exception parse date " + e.ToString()); durationTime = "NA"; } TemperatureObj tem = new TemperatureObj() { TempId = t.TeplSekvId, Value = "~" + t.Sekvencia.ToString("n2") + " °C", LongDate = convertedDate.ToLongDateString(), Date = convertedDate.ToShortDateString(), Time = convertedDate.ToLongTimeString(), DateEnd = endDateString, TimeEnd = endTimeString, Duration = durationTime, Upozornenie = t.Upozornenie, Alert = loader.getStringValuePulseAndTempLimit(t.Upozornenie) }; fillPageWithSequence(tem); }
public void setAlertListValue() { if (_context.PulseSekv.Any()) { var all = _context.PulseSekv.OrderBy(x => x.TimeStart).ToList(); all.Reverse(); Tep_Sekvencia ts = null; foreach (var a in all) { ts = a; if (a.Upozornenie != 0) { break; } } // Tep_Sekvencia ts = _context.PulseSekv.FirstOrDefault(t => t.TepSekvId == _context.PulseSekv.Max(x => x.TepSekvId)); Helpers.SekvenceHelper.LimitCheck loader = new Helpers.SekvenceHelper.LimitCheck(); if (ts.Upozornenie != 0) { DateTime convertedDate = DateTime.Parse(ts.TimeStart); AlertSequenceObj myObj = new AlertSequenceObj { Name = "Tep", Value = ts.Sekvencia + " BPM", Date = convertedDate.ToShortDateString(), Time = convertedDate.ToLongTimeString(), Alert = loader.getStringValuePulseAndTempLimit(ts.Upozornenie) }; Alerts.Add(myObj); } else { AlertSequenceObj myObj = new AlertSequenceObj { Name = "Tep", Alert = "Neexistuje upozornenie" }; Alerts.Add(myObj); } //String tepSekvString = "Tep " + ts.Sekvencia + " " + ts.TimeStart + " " + loader.getStringValuePulseAndTempLimit(ts.Upozornenie); } else { AlertSequenceObj myObj = new AlertSequenceObj { Name = "Tep", Alert = "Neexistuje sekvencia" }; Alerts.Add(myObj); } if (_context.TemperatureSekv.Any()) { var all = _context.TemperatureSekv.OrderBy(x => x.TimeStart).ToList(); all.Reverse(); Teplota_Sekvencia ts = null; foreach (var a in all) { ts = a; if (a.Upozornenie != 0) { break; } } Helpers.SekvenceHelper.LimitCheck loader = new Helpers.SekvenceHelper.LimitCheck(); if (ts.Upozornenie != 0) { DateTime convertedDate = DateTime.Parse(ts.TimeStart); AlertSequenceObj myObj = new AlertSequenceObj { Name = "Teplota", Value = ts.Sekvencia.ToString("n2") + " °C", Date = convertedDate.ToShortDateString(), Time = convertedDate.ToLongTimeString(), Alert = loader.getStringValuePulseAndTempLimit(ts.Upozornenie) }; Alerts.Add(myObj); } else { AlertSequenceObj myObj = new AlertSequenceObj { Name = "Teplota", Alert = "Neexistuje upozornenie" }; Alerts.Add(myObj); } } else { AlertSequenceObj myObj = new AlertSequenceObj { Name = "Teplota", Alert = "Neexistuje sekvencia" }; Alerts.Add(myObj); } if (_context.MovementSekv.Any()) { var all = _context.MovementSekv.OrderBy(x => x.TimeStamp).ToList(); all.Reverse(); Pohyb_Sekvencia ps = null; foreach (var a in all) { if (a.Upozornenie_Cas != 0) { ps = a; break; } if (a.Upozornenie_Hranica != 0) { ps = a; break; } } if (ps != null) { DateTime convertedDate = DateTime.Parse(ps.TimeStamp); if (ps.Upozornenie_Cas != 0) { AlertSequenceObj myObj = new AlertSequenceObj { Name = "Pohyb", Date = convertedDate.ToShortDateString(), Time = convertedDate.ToLongTimeString(), Alert = "Čas" }; Alerts.Add(myObj); } else if (ps.Upozornenie_Hranica != 0) { AlertSequenceObj myObj = new AlertSequenceObj { Name = "Pohyb", Date = convertedDate.ToShortDateString(), Time = convertedDate.ToLongTimeString(), Alert = "Hranica" }; Alerts.Add(myObj); } else { AlertSequenceObj myObj = new AlertSequenceObj { Name = "Pohyb", Alert = "Neexistuje upozornenie" }; Alerts.Add(myObj); } } else { AlertSequenceObj myObj = new AlertSequenceObj { Name = "Pohyb", Alert = "Neexistuje upozornenie" }; Alerts.Add(myObj); } } else { AlertSequenceObj myObj = new AlertSequenceObj { Name = "Pohyb", Alert = "Neexistuje sekvencia" }; Alerts.Add(myObj); } if (_context.Akcelerometers.Any()) { var pad = _context.Akcelerometers.FirstOrDefault(t => t.AkcelerometerID == _context.Akcelerometers.Max(x => x.AkcelerometerID)); DateTime convertedDate = DateTime.Parse(pad.TimeStamp); RoomsDetection roomsDetection = new RoomsDetection(); Izby izba = roomsDetection.findRoomByCoord(pad.Xhodnota, pad.Yhodnota); string izbameno = "Vonku"; try { izbameno = izba.Nazov; }catch (Exception e) { System.Diagnostics.Debug.WriteLine("EXCEPTION " + e.ToString()); } AlertSequenceObj myObj = new AlertSequenceObj { Name = "Pád", Date = convertedDate.ToShortDateString(), Time = convertedDate.ToLongTimeString(), Value = izbameno, Alert = "Nastal pád" }; Alerts.Add(myObj); } else { AlertSequenceObj myObj = new AlertSequenceObj { Name = "Pád", Alert = "Pád nenastal" }; Alerts.Add(myObj); } //TODO: ZOBRAZENIE POHYBU }
private void fillList() { int low = 0; int height = 0; int middle = 0; int ok = 0; double lowMin = 0; double heightMin = 0; double middleMin = 0; double okMin = 0; double lowMinDay = 0; double heightMinDay = 0; double middleMinDay = 0; double okMinDay = 0; int lowDay = 0; int heightDay = 0; int middleDay = 0; int okDay = 0; if (_context.TemperatureSekv.Any()) { var listTemp = _context.TemperatureSekv.ToList(); Helpers.SekvenceHelper.LimitCheck loader = new Helpers.SekvenceHelper.LimitCheck(); //DateTime actualForSummary = DateTime.Parse("2017-01-01T12:04:19Z"); DateTime actualForSummary = DateTime.Now; foreach (var t in listTemp) { DateTime convertedDate = DateTime.Parse(t.TimeStart); String durationTime = null; String endTimeString = "NA"; String endDateString = ""; double time = 0; try { DateTime endtime = DateTime.Parse(t.TimeClose); time = (endtime - convertedDate).TotalMinutes; var x = time - Math.Truncate(time); durationTime = Math.Truncate(time).ToString() + " min " + Math.Round(x * 60).ToString() + " sec"; endDateString = endtime.ToLongDateString(); endTimeString = endtime.ToLongTimeString(); } catch (Exception e) { System.Diagnostics.Debug.WriteLine("Exception parse date " + e.ToString()); durationTime = "NA"; } if (actualForSummary <= convertedDate.AddHours(12)) { switch (t.Upozornenie) { case 0: ok++; okMin += time; break; case 1: low++; lowMin += time; break; case -1: low++; lowMin += time; break; case 2: middle++; middleMin += time; break; case 3: height++; heightMin += time; break; } } if (actualForSummary <= convertedDate.AddHours(24)) { switch (t.Upozornenie) { case 0: okDay++; okMinDay += time; break; case 1: lowDay++; lowMinDay += time; break; case -1: lowDay++; lowMinDay += time; break; case 2: middleDay++; middleMinDay += time; break; case 3: heightDay++; heightMinDay += time; break; } } TemperatureObj tem = new TemperatureObj() { TempId = t.TeplSekvId, Value = "~" + t.Sekvencia.ToString("n2") + " °C", LongDate = convertedDate.ToLongDateString(), Date = convertedDate.ToShortDateString(), Time = convertedDate.ToLongTimeString(), DateEnd = endDateString, TimeEnd = endTimeString, Duration = durationTime, Upozornenie = t.Upozornenie, Alert = loader.getStringValuePulseAndTempLimit(t.Upozornenie) }; SequenceList.Add(tem); } fillPageWithSequence(SequenceList.Last()); } else { TempAlert = "Neexistuje žiadna sekvencia"; } HeightTwelve = "Vysoké: ~" + Math.Truncate(heightMin).ToString() + " min"; MiddleTwelve = "Stredné: ~" + Math.Truncate(middleMin).ToString() + " min"; LowTwelve = "Slabé: ~" + Math.Truncate(lowMin).ToString() + " min"; OkTwelve = "OK: ~" + Math.Truncate(okMin).ToString() + " min"; HeightDay = HeightTwelve = "Vysoké: ~" + Math.Truncate(heightMinDay).ToString() + " min"; MiddleDay = "Stredné: ~" + Math.Truncate(middleMinDay).ToString() + " min"; LowDay = "Slabé: ~" + Math.Truncate(lowMinDay).ToString() + " min"; OkDay = "OK: ~" + Math.Truncate(okMinDay).ToString() + " min"; // System.Diagnostics.Debug.WriteLine("/////CAS: " + okMin + " " + lowMin + " " + middleMin + " " + heightMin + " " + Math.Truncate(okMin).ToString()); SequenceList = new ObservableCollection <TemperatureObj>(SequenceList.Reverse()); }
private void CreateList() { List <Tep_Sekvencia> tepList = null; try { tepList = _context.PulseSekv.ToList(); } catch (Exception e) { System.Diagnostics.Debug.WriteLine("Cant find list pulse for selected time" + e.ToString()); } List <Teplota_Sekvencia> tempList = null; try { tempList = _context.TemperatureSekv.ToList(); } catch (Exception e) { System.Diagnostics.Debug.WriteLine("Cant find list temperature for selected time" + e.ToString()); } /* try { * tepList = _context.PulseSekv.Where(p => DateTime.Parse(p.TimeStart) >= StartdateTime && DateTime.Parse(p.TimeStart) <= StopdateTime || DateTime.Parse(p.TimeStart) <= StartdateTime && DateTime.Parse(p.TimeClose) >= StartdateTime || DateTime.Parse(p.TimeStart) <= StopdateTime && DateTime.Parse(p.TimeClose) >= StopdateTime || DateTime.Parse(p.TimeStart) <= StartdateTime && DateTime.Parse(p.TimeClose) >= StopdateTime).ToList(); * } * catch(Exception e) * { * System.Diagnostics.Debug.WriteLine("Cant find list pulse for selected time" + e.ToString()); * try * { * tepList = _context.PulseSekv.Where(p => DateTime.Parse(p.TimeStart) <= StartdateTime).ToList(); * } * catch (Exception ee) * { * System.Diagnostics.Debug.WriteLine("Cant find list pulse for selected time" + ee.ToString()); * } * * System.Diagnostics.Debug.WriteLine("Cant find list pulse for selected time" + e.ToString()); * } * * * foreach (var t in tepList) { * System.Diagnostics.Debug.WriteLine("************ Pulse: " + t.TimeStart + " " + t.TimeClose + " " + t.Sekvencia); * * } * List<Teplota_Sekvencia> tempList = null; * try * { * tempList = _context.TemperatureSekv.Where(p => DateTime.Parse(p.TimeStart) >= StartdateTime && DateTime.Parse(p.TimeStart) <= StopdateTime || DateTime.Parse(p.TimeStart) <= StartdateTime && DateTime.Parse(p.TimeClose) >= StartdateTime || DateTime.Parse(p.TimeStart) <= StopdateTime && DateTime.Parse(p.TimeClose) >= StopdateTime || DateTime.Parse(p.TimeStart) <= StartdateTime && DateTime.Parse(p.TimeClose) >= StopdateTime).ToList(); * } * catch (Exception e) * { * System.Diagnostics.Debug.WriteLine("Cant find list temperature for selected time" + e.ToString()); * * try * { * tempList = _context.TemperatureSekv.Where(p => DateTime.Parse(p.TimeStart) <= StartdateTime).ToList(); * } * catch (Exception ee) * { * System.Diagnostics.Debug.WriteLine("Cant find list temperature for selected time" + ee.ToString()); * * } * * }*/ foreach (var t in tempList) { System.Diagnostics.Debug.WriteLine("************ Temperature: " + t.TimeStart + " " + t.TimeClose + " " + t.Sekvencia); } DateTime myTime = StartdateTime; Helpers.SekvenceHelper.LimitCheck loader = new Helpers.SekvenceHelper.LimitCheck(); while (myTime <= StopdateTime) { string tempVal = "NA"; string tempAlert = ""; try { foreach (var t in tempList) { if (DateTime.Parse(t.TimeStart).TimeOfDay <= myTime.TimeOfDay && DateTime.Parse(t.TimeStart).Date == DateTime.Parse(_roomStatistics.StartDate)) { if (t.TimeClose.Equals("")) { tempVal = t.Sekvencia.ToString("n2") + " °C"; tempAlert = loader.getStringValuePulseAndTempLimit(t.Upozornenie); if (!teplotaListConst.Contains(t)) { teplotaListConst.Add(t); } break; } else if (TimeSpan.Compare(DateTime.Parse(t.TimeClose).TimeOfDay, myTime.TimeOfDay) >= 0) { tempVal = t.Sekvencia.ToString("n2") + " °C"; tempAlert = loader.getStringValuePulseAndTempLimit(t.Upozornenie); if (!teplotaListConst.Contains(t)) { teplotaListConst.Add(t); } break; } else { tempVal = "NA"; tempAlert = ""; } } } /* * var temp = tempList.Where(p => DateTime.Parse(p.TimeStart).TimeOfDay <= myTime.TimeOfDay && DateTime.Parse(p.TimeClose).TimeOfDay >= myTime.TimeOfDay).First(); * * tempVal = temp.Sekvencia.ToString("n2") + " °C"; * tempAlert = loader.getStringValuePulseAndTempLimit(temp.Upozornenie);*/ } catch (Exception e) { System.Diagnostics.Debug.WriteLine("Cant find value for selected time" + e.ToString()); /* try * { * var temp = tempList.Where(p => DateTime.Parse(p.TimeStart) <= myTime && p.TimeClose == "").First(); * * tempVal = temp.Sekvencia.ToString("n2") + " °C"; * tempAlert = loader.getStringValuePulseAndTempLimit(temp.Upozornenie); * } * catch (Exception ee) * { * System.Diagnostics.Debug.WriteLine("Cant find value for selected time" + ee.ToString()); * * }*/ } string pulseVal = "NA"; string pulseAlert = ""; try { /* var pulse = tepList.Where(p => DateTime.Parse(p.TimeStart) <= myTime && DateTime.Parse(p.TimeClose) >= myTime).First(); * pulseVal = pulse.Sekvencia.ToString() + " BPM"; * pulseAlert = loader.getStringValuePulseAndTempLimit(pulse.Upozornenie);*/ foreach (var t in tepList) { if (DateTime.Parse(t.TimeStart).TimeOfDay <= myTime.TimeOfDay && DateTime.Parse(t.TimeStart).Date == DateTime.Parse(_roomStatistics.StartDate)) { if (t.TimeClose.Equals("")) { pulseVal = t.Sekvencia.ToString() + " BPM"; pulseAlert = loader.getStringValuePulseAndTempLimit(t.Upozornenie); if (!tepListConst.Contains(t)) { tepListConst.Add(t); } break; } else if (TimeSpan.Compare(DateTime.Parse(t.TimeClose).TimeOfDay, myTime.TimeOfDay) >= 0) { pulseVal = t.Sekvencia.ToString() + " BPM"; pulseAlert = loader.getStringValuePulseAndTempLimit(t.Upozornenie); if (!tepListConst.Contains(t)) { tepListConst.Add(t); } break; } else { pulseVal = "NA"; pulseAlert = ""; } } } } catch (Exception e) { System.Diagnostics.Debug.WriteLine("Cant find value for selected time" + e.ToString()); /* try * { * var pulse = tepList.Where(p => DateTime.Parse(p.TimeStart) <= myTime).First(); * pulseVal = pulse.Sekvencia.ToString() + " BPM"; * pulseAlert = loader.getStringValuePulseAndTempLimit(pulse.Upozornenie); * * } * catch (Exception ee) * { * System.Diagnostics.Debug.WriteLine("Cant find value for selected time" + ee.ToString()); * * }*/ } string fallValue = ""; try { var fall = fallList.Where(p => DateTime.Parse(p.TimeStamp) >= myTime && DateTime.Parse(p.TimeStamp) <= myTime.AddMinutes(1)).First(); if (fall != null) { fallValue = "Áno"; } //System.Diagnostics.Debug.WriteLine("find value for selected time fall " + fall.TimeStamp); } catch (Exception e) { System.Diagnostics.Debug.WriteLine("Cant find value for selected time fall " + e.ToString()); } StatisticsObj statisticsObj = new StatisticsObj { Time = myTime.ToShortTimeString(), PulseValue = pulseVal, PulseAlert = pulseAlert, TemperatureValue = tempVal, TemperatureAlert = tempAlert, isFall = fallValue }; StatsList.Add(statisticsObj); // System.Diagnostics.Debug.WriteLine("--- LIST ---" + myTime + " " + pulseVal + " " + pulseAlert + " " + tempVal + " " + tempAlert + " " + fallValue); myTime = myTime.AddMinutes(1); } //StatsList = new ObservableCollection<StatisticsObj>(StatsList.Reverse()); }