Пример #1
0
        public async Task <GetRangesMsg> GetRanges(UsernameData data)
        {
            GetRangesMsg msg = new GetRangesMsg();
            Biometric    bio = null;

            try
            {
                bio = await _bio.GetMostRecentRecord(data);
            }
            catch (Exception e)
            {
                throw new CustomException("Error getting HR data in service" + e);
            }
            int resting = await GetRestingHeartRate(data);

            int age              = CalculateAge(bio.dob);
            int maxHR            = 220 - age;
            int heartRateReserve = maxHR - resting;

            msg.fiftyPerc   = Math.Round(heartRateReserve * 0.5 + resting, 0);
            msg.sixtyPerc   = Math.Round(heartRateReserve * 0.6 + resting, 0);
            msg.seventyPerc = Math.Round(heartRateReserve * 0.7 + resting, 0);
            msg.eightyPerc  = Math.Round(heartRateReserve * 0.8 + resting, 0);
            msg.ninetyPerc  = Math.Round(heartRateReserve * 0.9 + resting, 0);
            msg.hundPerc    = Math.Round(heartRateReserve * 1.0 + resting, 0);
            return(msg);
        }
Пример #2
0
        public async Task <GetHRBoundsMsg> GetHRBounds(UsernameData data)
        {
            GetHRBoundsMsg msg = new GetHRBoundsMsg();
            Biometric      bio = null;

            try
            {
                bio = await _bio.GetMostRecentRecord(data);
            }
            catch (Exception e)
            {
                throw new CustomException("Error getting HR data in service" + e);
            }

            int age     = CalculateAge(bio.dob);
            int resting = await GetRestingHeartRate(data);

            msg.maxHR            = 220 - age;
            msg.heartRateReserve = msg.maxHR - resting;
            double seventy   = msg.heartRateReserve * 0.7 + resting;
            double eightFive = msg.heartRateReserve * 0.85 + resting;

            msg.targetHR = Math.Round((seventy + eightFive) / 2, 0);
            return(msg);
        }
Пример #3
0
        public async Task <List <GetAllHRDataMessage> > GetAllHeartRateData(UsernameData hrd)
        {
            List <GetAllHRDataMessage> something = null;

            try
            {
                Account acc = await _context.accounts.Where(x => x.username == hrd.username).FirstOrDefaultAsync();

                if (acc == null)
                {
                    throw new InvalidOperationException("There is no account matching the username");
                }

                something = await _context.heartRateRecords.Where(x => x.accountId == acc.Id)
                            .Select(x => new GetAllHRDataMessage()
                {
                    type      = x.type,
                    startTime = x.startTime.ToString(),
                    endTime   = x.endTime.ToString(),
                    bpmLow    = x.bpmLow,
                    bpmHigh   = x.bpmHigh,
                    bpmAvg    = Math.Round(x.bpmAvg, 0)
                }).ToListAsync();
            }
            catch (Exception e)
            {
                throw new CustomException("Database error while trying to get all hr data " + e);
            }
            return(something);
        }
Пример #4
0
        public void BiometricService_GetRanges_Test()
        {
            //arrange
            var biometricData = new UsernameData()
            {
                username = "******",
            };
            //act
            var result = mockBiometricService.Object.GetRanges(biometricData);

            //assert
            Assert.True(result.IsCompletedSuccessfully);
        }
Пример #5
0
        public async Task <IActionResult> GetRestingRates([FromBody] UsernameData d)
        {
            GetRestingRatesMsg msg = null;

            try
            {
                msg = await _heartRateRecordService.GetRestingRates(d);
            }
            catch (Exception)
            {
                return(BadRequest());
            }
            return(Ok(msg));
        }
Пример #6
0
        public async Task <IActionResult> GetAllHeartRateData([FromBody] UsernameData hrd)
        {
            List <GetAllHRDataMessage> list = null;

            try
            {
                list = await _heartRateRecordService.GetAllHeartRateData(hrd);
            }
            catch (Exception)
            {
                return(BadRequest());
            }
            return(Ok(list));
        }
Пример #7
0
        public async Task <GetRestingRatesMsg> GetRestingRates(UsernameData d)
        {
            List <GetRestingHeartRateMsg> list = null;

            try
            {
                list = await _heartRateRecordDao.GetRestingHeartRateHistory(d);
            }
            catch (Exception e)
            {
                throw new CustomException("Error at get all resting heart rate data in service " + e);
            }
            return(FormRestingRatesMessage(list));
        }
Пример #8
0
        public async Task <List <GetAllHRDataMessage> > GetAllHeartRateData(UsernameData hr)
        {
            List <GetAllHRDataMessage> list = null;

            try
            {
                list = await _heartRateRecordDao.GetAllHeartRateData(hr);
            }
            catch (Exception e)
            {
                throw new CustomException("Error at get all heart rate data in service " + e);
            }
            return(list);
        }
Пример #9
0
        public async Task <IActionResult> GetExerciseHeartRateHistory([FromBody] UsernameData hr)
        {
            List <GetExerciseHeartRateMsg> list = null;

            try
            {
                list = await _heartRateRecordService.GetExerciseHeartRateHistory(hr);
            }
            catch (Exception)
            {
                return(BadRequest());
            }
            return(Ok(list));
        }
Пример #10
0
        public async Task <IActionResult> GetRanges([FromBody] UsernameData data)
        {
            GetRangesMsg msg = null;

            try
            {
                msg = await _BiometricService.GetRanges(data);
            }
            catch (Exception)
            {
                return(BadRequest());
            }
            return(Ok(msg));
        }
Пример #11
0
        public async Task <IActionResult> GetBiometricData([FromBody] UsernameData data)
        {
            GetBiometricDataMsg bio = null;

            try
            {
                bio = await _BiometricService.GetBiometricData(data);
            }
            catch (Exception)
            {
                return(BadRequest());
            }
            return(Ok(bio));
        }
Пример #12
0
        public async Task <IActionResult> GetIntensities([FromBody] UsernameData data)
        {
            GetExerciseIntensityMsg intensity = null;

            try
            {
                intensity = await _BiometricService.GetIntensities(data);
            }
            catch (Exception)
            {
                return(BadRequest());
            }
            return(Ok(intensity));
        }
Пример #13
0
        public void BiometricService_GetIntensities_Test()
        {
            //arrange
            var IntensitiesData = new UsernameData()
            {
                username = "******",
            };

            //act
            var response = mockBiometricService.Object.GetIntensities(IntensitiesData);

            //assert
            Assert.True(response.IsCompletedSuccessfully);
            mockBiometricService.Verify();
        }
        public void HeartRateRecordController_GetAllHeartRateData_Test()
        {
            //arrange
            var mockController      = new HeartRateRecordController();
            var heartRateRecordData = new UsernameData()
            {
                username = "******",
            };

            //act
            var result = mockHeartRateRecordService.Object.GetAllHeartRateData(heartRateRecordData);

            //assert
            Assert.True(result.IsCompletedSuccessfully);
        }
        public void HeartRateRecordController_GetRestingHeartRateHistory_Test()
        {
            //arrange
            var mockController      = new HeartRateRecordController();
            var heartRateRecordData = new UsernameData()
            {
                username = "******",
            };

            //act
            var result = mockHeartRateRecordService.Object.GetRestingHeartRateHistory(heartRateRecordData);

            //assert
            Assert.True(result.IsCompletedSuccessfully);
        }
Пример #16
0
        public void HeartRateRecordService_GetExerciseHeartRateHistory_Test()
        {
            //arrange
            var heartRateRecordData = new UsernameData()
            {
                username = "******",
            };

            //act
            var response = mockHeartRateRecordService.Object.GetExerciseHeartRateHistory(heartRateRecordData);

            //assert
            Assert.True(response.IsCompletedSuccessfully);
            mockHeartRateRecordService.Verify();
        }
Пример #17
0
        public void BiometricService_GetRanges_Test()
        {
            //arrange
            var BiometricData = new UsernameData()
            {
                username = "******",
            };

            //act
            var response = mockBiometricService.Object.GetRanges(BiometricData);

            //assert
            Assert.True(response.IsCompletedSuccessfully);
            mockBiometricService.Verify();
        }
Пример #18
0
        public void HeartRateRecordService_GetRestingRates_Test()
        {
            //arrange
            var heartRateRecordData = new UsernameData()
            {
                username = "******",
            };

            //act
            var response = mockHeartRateRecordService.Object.GetRestingRates(heartRateRecordData);

            //assert
            Assert.True(response.IsCompletedSuccessfully);
            mockHeartRateRecordService.Verify();
        }
Пример #19
0
        public async Task <GetBiometricDataMsg> GetBiometricData(UsernameData data)
        {
            GetBiometricDataMsg msg = new GetBiometricDataMsg();
            Biometric           b   = null;

            try
            {
                b = await _bio.GetBiometricData(data);
            }
            catch (Exception e)
            {
                throw new CustomException("Error getting biometrics in service" + e);
            }
            msg.height = b.height.ToString();
            msg.weight = b.weight.ToString();
            msg.sex    = b.sex.ToString();
            msg.dob    = b.dob.ToShortDateString();
            return(msg);
        }
Пример #20
0
        public async Task <GetExerciseIntensityMsg> GetIntensities(UsernameData data)
        {
            List <GetExerciseHeartRateMsg> records = null;
            Biometric bio = null;

            try
            {
                records = await _heart.GetExerciseHeartRateHistory(data);

                bio = await _bio.GetMostRecentRecord(data);
            }
            catch (Exception e)
            {
                throw new CustomException("Error getting HR data in service" + e);
            }

            int age     = CalculateAge(bio.dob);
            int resting = await GetRestingHeartRate(data);

            return(CalculateIntensities(records, age, resting));
        }
Пример #21
0
        public async Task <Biometric> GetBiometricData(UsernameData data)
        {
            Account acc = await _context.accounts.Where(x => x.username == data.username).FirstOrDefaultAsync();

            if (acc == null)
            {
                throw new CustomException("Account doesn't exist");
            }

            List <Biometric> b = null;

            try
            {
                b = await _context.biometrics.Where(x => x.accountId == acc.Id).ToListAsync();
            }
            catch (Exception e)
            {
                throw new CustomException("Error getting biometric data" + e);
            }
            return(b.OrderByDescending(x => x.Date).FirstOrDefault());
        }
Пример #22
0
        private async Task <int> GetRestingHeartRate(UsernameData data)
        {
            List <GetRestingHeartRateMsg> list = null;

            try
            {
                list = await _heart.GetRestingHeartRateHistory(data);
            }
            catch (Exception e)
            {
                throw new CustomException("failed to get resting hr data" + e);
            }

            double sum   = 0;
            int    count = 0;

            foreach (GetRestingHeartRateMsg msg in list)
            {
                sum += msg.bpmAvg;
                ++count;
            }
            return((int)sum / count);
        }
Пример #23
0
        public async Task <List <GetExerciseHeartRateMsg> > GetExerciseHeartRateHistory(UsernameData hr)
        {
            List <GetExerciseHeartRateMsg> list = null;

            try
            {
                list = await _heartRateRecordDao.GetExerciseHeartRateHistory(hr);
            }
            catch (Exception e)
            {
                throw new CustomException("Error at get all resting heart rate data in service " + e);
            }
            return(list);
        }