private void Instance_OnStepCounterReport(User.Record record)
 {
     if (_selectedUser != null && SelectedWeek == 0 && _selectedUser == User.AccountsManager.Instance.CurrentUser)
     {
         if (record.WalkingStepCount + record.RunningStepCount > 0)
         {
             UpdateData();
         }
     }
 }
        public int GetWalkingCalorieBurn(User.Record record)
        {
            User.Snapshot snapshot = User.Snapshot.FindNearestSnapshot(record, _user);
            double        Time     = ((double)(record.WalkTime + record.RunTime) / 3600);

            if (Time <= 0.0013888888888889)
            {
                return(0);                            //5 seconds
            }
            double KPH = Common.CommonMethods.CalcDistance((uint)(record.WalkingStepCount + record.RunningStepCount), _user.StepLength) / Time;

            return((int)Math.Round((0.0215 * KPH * KPH * KPH - 0.1765 * KPH * KPH + 0.8710 * KPH + 1.4577) * snapshot.Weight * Time));
        }
 public int CalcHourlyBMR(User.Record record)
 {
     if (_user == null)
     {
         return(0);
     }
     else
     {
         if (_user.Snapshots.Count == 0)
         {
             return(0);
         }
         else
         {
             User.Snapshot snapshot = User.Snapshot.FindNearestSnapshot(record, _user);
             return((int)((double)RawBMR(_user.UserGender, snapshot.Weight, snapshot.Height, Common.CommonMethods.CalcAge(record.StartDate, _user.Birthdate)) / 24));
         }
     }
 }
Exemplo n.º 4
0
        public WorkoutTimerPageModel()
        {
            workoutTimer          = new DispatcherTimer();
            workoutTimer.Interval = TimeSpan.FromSeconds(1);
            workoutTimer.Tick    += workoutTimer_Tick;
            _record = new User.Record();
            _record.StartRecord();
            _counter = new Helpers.CaloriesCounterHelper(User.AccountsManager.Instance.CurrentUser);
            gadgetHelper.HeartRateChanged   += gadgetHelper_HeartRateChanged;
            gadgetHelper.GadgetStateChanged += gadgetHelper_GadgetStateChanged;

            heartChartData = new ObservableCollection <ValuePair>();
            for (int i = heartChartData.Count; i < 20; i++)
            {
                heartChartData.Add(new ValuePair(i, 0));
            }

            var _user = User.AccountsManager.Instance.CurrentUser;

            if (_user != null)
            {
                bool _bFound = false;
                foreach (User.DailyRecord daily in _user.DailyRecords)
                {
                    if (_bFound)
                    {
                        break;
                    }
                    foreach (User.Record record in daily.Records)
                    {
                        if (record.ActivityType != 0)
                        {
                            SelectedIndex = ActivityTypes.FindIndex(r => r.Equals(Common.CommonMethods.activityTypes[record.ActivityType]));
                            _bFound       = true;
                            break;
                        }
                    }
                }
            }
        }
        //fallback function
        public int CalcHourlyBMR(DateTime date)
        {
            if (_user == null)
            {
                return(0);
            }
            else
            {
                if (_user.Snapshots.Count == 0)
                {
                    return(0);
                }
                else
                {
                    User.Record record = new User.Record();
                    record.StartDate = date;

                    User.Snapshot snapshot = User.Snapshot.FindNearestSnapshot(record, _user);
                    return((int)((double)RawBMR(_user.UserGender, snapshot.Weight, snapshot.Height, Common.CommonMethods.CalcAge(record.StartDate, _user.Birthdate)) / 24));
                    //* GetHBMultiplier(_user.UserActivityLevel));
                }
            }
        }
 public int CalcBMR(User.Record record)
 {
     return((int)(CalcHourlyBMR(record) * (record.EndDate - record.StartDate).TotalHours));
 }
 public int AdjustedBMR(User.Record record)
 {
     return((int)(CalcBMR(record))); //* GetHBMultiplier(record.ActivityLevel));
 }