示例#1
0
        public BiometricReadings GetBiometricsByParticipantId(string participantid, int count)
        {
            BiometricReadings readings = null;

            try
            {
                readings = _dac.GetBiometricsByParticipantId(participantid, count);
            }
            catch (Exception)
            {
                throw;
            }
            return(readings);
        }
示例#2
0
        public BiometricReadings GetBiometricsByDeviceId(string deviceid, int count)
        {
            BiometricReadings readings = null;

            try
            {
                readings = _dac.GetBiometricsByDeviceId(deviceid, count);
            }
            catch (Exception)
            {
                throw;
            }
            return(readings);
        }
示例#3
0
        public BiometricReadings GetBiometricsByLocationType(string location, string type, int count)
        {
            BiometricReadings readings = null;
            var readingType            = 0;

            try
            {
                switch (type)
                {
                case "glucose":
                    readingType = 1;
                    break;

                case "heartrate":
                    readingType = 2;
                    break;

                case "bloodoxygen":
                    readingType = 3;
                    break;

                case "temperature":
                    readingType = 4;
                    break;
                }

                if (location == "all")
                {
                    var readingsBoston  = _dac.GetBiometricsByLocationType("boston", readingType, count);
                    var readingsChicago = _dac.GetBiometricsByLocationType("chicago", readingType, count);
                    var readingsNewYork = _dac.GetBiometricsByLocationType("newyork", readingType, count);

                    readings = new BiometricReadings();

                    readings.AddRange(readingsBoston);
                    readings.AddRange(readingsChicago);
                    readings.AddRange(readingsNewYork);
                }
                else
                {
                    readings = _dac.GetBiometricsByLocationType(location, readingType, count);
                }
            }
            catch (Exception)
            {
                throw;
            }
            return(readings);
        }
示例#4
0
        public BiometricReadings GetBiometrics(string url)
        {
            BiometricReadings biometrics = null;

            try
            {
                var json = CallRestAPI(url);
                biometrics = Deserialize <BiometricReadings>(json);
            }
            catch (Exception err)
            {
                biometrics = new BiometricReadings();
            }

            return(biometrics);
        }
        public BiometricReadings GetBiometricsByLocationType(string location, string type, int count)
        {
            BiometricReadings readings = null;
            var readingType = 0;

            try
            {
                switch (type)
                {
                    case "glucose":
                        readingType = 1;
                        break;
                    case "heartrate":
                        readingType = 2;
                        break;
                    case "bloodoxygen":
                        readingType = 3;
                        break;
                    case "temperature":
                        readingType = 4;
                        break;
                }

                if (location == "all")
                {
                    var readingsBoston = _dac.GetBiometricsByLocationType("boston", readingType, count);
                    var readingsChicago = _dac.GetBiometricsByLocationType("chicago", readingType, count);
                    var readingsNewYork = _dac.GetBiometricsByLocationType("newyork", readingType, count);

                    readings = new BiometricReadings();

                    readings.AddRange(readingsBoston);
                    readings.AddRange(readingsChicago);
                    readings.AddRange(readingsNewYork);
                }
                else
                {
                    readings = _dac.GetBiometricsByLocationType(location, readingType, count);
                }

            }
            catch (Exception)
            {
                throw;
            }
            return readings;
        }
        private static BiometricReadings Transform(IDataReader rdr)
        {
            var readings = new BiometricReadings();

            while (rdr.Read())
            {
                var reading = new BiometricReading
                {
                    deviceid      = rdr[0].ToString(),
                    participantid = rdr[1].ToString(),
                    longitude     = (double)rdr[2],
                    latitude      = (double)rdr[3],
                    reading       = (DateTime)rdr[4],
                    value         = (double)rdr[6]
                };

                var sensorType = Convert.ToInt32(rdr[5]);

                switch (sensorType)
                {
                case 1:
                    reading.type = BiometricType.Glucose;
                    break;

                case 2:
                    reading.type = BiometricType.Heartrate;
                    break;

                case 3:
                    reading.type = BiometricType.Bloodoxygen;
                    break;

                case 4:
                    reading.type = BiometricType.Temperature;
                    break;
                }

                readings.Add(reading);
            }

            rdr.Close();

            return(readings);
        }
示例#7
0
        protected List <Measurement> GetData(string _measure = null)
        {
            var factory = new BiometricReadingsFactory();
            var url     = $"{api}/city/{Geo}/type/{VitalMeasure}/count/{10}";

            BiometricReadings msg = null;

            try
            {
                msg = factory.GetBiometrics(url);
            }
            catch (Exception err)
            {
                Trace.TraceError(err.Message);
            }

            var list = new List <Measurement>();

            foreach (BiometricReading vital in msg)
            {
                var item = new Measurement()
                {
                    Reading = vital.value
                };
                if (item.Reading > this.UpperThreshold)
                {
                    item.State = Condition.High;
                }
                else if (item.Reading < this.LowerThreshold)
                {
                    item.State = Condition.Low;
                }
                else
                {
                    item.State = Condition.Normal;
                }
                item.Person = new Person(vital.latitude, vital.longitude);

                list.Add(item);
            }
            return(list);
        }
        private static BiometricReadings Transform(IDataReader rdr)
        {
            var readings = new BiometricReadings();

            while (rdr.Read())
            {
                var reading = new BiometricReading
                {
                    deviceid = rdr[0].ToString(),
                    participantid = rdr[1].ToString(),
                    longitude = (double) rdr[2],
                    latitude = (double) rdr[3],
                    reading = (DateTime) rdr[4],
                    value = (double) rdr[6]
                };

                var sensorType = Convert.ToInt32(rdr[5]);

                switch (sensorType)
                {
                    case 1:
                        reading.type = BiometricType.Glucose;
                        break;
                    case 2:
                        reading.type = BiometricType.Heartrate;
                        break;
                    case 3:
                        reading.type = BiometricType.Bloodoxygen;
                        break;
                    case 4:
                        reading.type = BiometricType.Temperature;
                        break;
                }

                readings.Add(reading);
            }

            rdr.Close();

            return readings;
        }