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);
        }
Exemple #2
0
        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());
        }