Пример #1
0
        public IHttpActionResult PutHeartRateModel(int id, HeartRateModel heartRateModel)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != heartRateModel.ID)
            {
                return(BadRequest());
            }

            db.Entry(heartRateModel).State = EntityState.Modified;

            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!HeartRateModelExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(StatusCode(HttpStatusCode.NoContent));
        }
Пример #2
0
 private async void BtnKlaar_Clicked(object sender, EventArgs e)
 {
     try
     {
         if (Sets == 3)
         {
             reading = false;
             HeartRateModel hrm = new HeartRateModel()
             {
                 HeartRate = hrList
             };
             eval.Set2 = int.Parse(Application.Current.Properties["Set"].ToString());
             await Navigation.PushAsync(new ExerciseEvaluationPage(Variatie, Fiche, eval, hrList));
         }
         else
         {
             switch (Sets)
             {
             case 2:
                 eval.Set1 = int.Parse(Application.Current.Properties["Set"].ToString());
                 break;
             }
             Sets += 1;
             Title = "Set " + Sets.ToString() + "/3";
             await Navigation.PushAsync(new BreakExercise(Variatie, Fiche, Sets));
         }
     }
     catch (Exception ex)
     {
         await StepOutManager.Writelog(ex);
         await DisplayAlert("Fout", ex.Message + "Probeer het later opnieuw", "Ok");
     }
 }
Пример #3
0
        public IHttpActionResult GetHeartRateModel(int id)
        {
            HeartRateModel heartRateModel = db.HeartRates.Find(id);
            string         owner          = ClaimsPrincipal.Current.FindFirst(ClaimTypes.NameIdentifier).Value;

            if (heartRateModel == null || heartRateModel.Owner != owner)
            {
                return(NotFound());
            }

            return(Ok(heartRateModel));
        }
Пример #4
0
        public IHttpActionResult PostHeartRateModel(HeartRateModel heartRateModel)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            string owner = ClaimsPrincipal.Current.FindFirst(ClaimTypes.NameIdentifier).Value;

            heartRateModel.Owner = owner;
            db.HeartRates.Add(heartRateModel);
            db.SaveChanges();

            return(CreatedAtRoute("DefaultApi", new { id = heartRateModel.ID }, heartRateModel));
        }
Пример #5
0
        private async Task Init()
        {
            if (model == null)
            {
                model = new HeartRateModel();
                await model.Init();

                model.BandDataReceived  += (p, q) => FlashCircle(BandDataCircle, Colors.Gold, 100);
                model.PulseDataReceived += (p, q) => FlashCircle(AzureDataCircle, Colors.Gold, 100);

                var blinker = Blinker.GetBlinker();
                model.PulseDataReceived += (p, q) =>
                {
                    blinker.HeartRate = q.HeartRate;
                };
                blinker.DoBlink += BlinkerDoBlink;
                blinker.Start();
            }
        }
Пример #6
0
        protected override async void OnNavigatedTo(NavigationEventArgs e)
        {
            DateTimeOffset now        = DateTimeOffset.Now;
            TimeSpan       span       = now - App.startTime;
            String         timeString = span.ToString(@"hh\:mm");

            Time.Text            += timeString;
            NumOfEx.Text         += WorkoutSummaryParams.numberOfExercisesPerformed.ToString() + "/" + WorkoutSummaryParams.numberOfExercisesTotal.ToString();
            heartRate.Text       += HeartRateModel.getAverage();
            peak_heart_rate.Text += HeartRateModel.getPeak();
            calories.Text        += CaloriesModel.calories;

            var prevWorkoutsStatistics    = App.UserWorkoutStatistics.FindAll(stat => stat.UserId.Equals(MainDashboard.CurrentUser.Id) && stat.WorkoutId.Equals(WorkoutSummaryParams.WorkoutId));
            var otherUsersStatisticsCount = App.UserWorkoutStatistics.FindAll(stat => stat.WorkoutId.Equals(WorkoutSummaryParams.WorkoutId)).Count;


            m_prevWorkoutsStatistics = prevWorkoutsStatistics;

            if (prevWorkoutsStatistics.Count != 0)
            {
                var overallTime = span.TotalMinutes;

                var prevWorkoutsExNumPerformedAverage = Utils.CalculatePrevWorkoutsExNumAverage(prevWorkoutsStatistics);

                var prevWorkoutsPerformanceTimeAvarage = Utils.CalculatePrevWorkoutsPerformanceTimeAverage(prevWorkoutsStatistics);

                if (WorkoutSummaryParams.numberOfExercisesPerformed > prevWorkoutsExNumPerformedAverage)
                {
                    CompareToStat.Text    = "Great job! You completed more exercises than your previous workouts! Keep going!";
                    NumOfEx.Foreground    = new SolidColorBrush(Colors.Green);
                    feedback_image.Source = new BitmapImage(new Uri("ms-appx:///Images/gold.png"));
                }
                else if (WorkoutSummaryParams.numberOfExercisesPerformed < prevWorkoutsExNumPerformedAverage)
                {
                    CompareToStat.Text    = "You completed less exercises than your previous workouts. You can do better than this. Try pushing a little harder next time!";
                    NumOfEx.Foreground    = new SolidColorBrush(Colors.Red);
                    feedback_image.Source = new BitmapImage(new Uri("ms-appx:///Images/bronze.png"));
                }
                else if (prevWorkoutsPerformanceTimeAvarage > overallTime)
                {
                    CompareToStat.Text    = "Great job! Your overall workout time has decreased from previous workouts! Keep going!";
                    Time.Foreground       = new SolidColorBrush(Colors.Green);
                    feedback_image.Source = new BitmapImage(new Uri("ms-appx:///Images/gold.png"));
                }
                else
                {
                    CompareToStat.Text    = "Your overall workout time was higher from previous workouts. You can do better than this. Try pushing A little harder next time!";
                    Time.Foreground       = new SolidColorBrush(Colors.Red);
                    feedback_image.Source = new BitmapImage(new Uri("ms-appx:///Images/bronze.png"));
                }


                UserStatistics.Visibility = Visibility.Visible;
            }
            else
            {
                CompareToStat.Text    = "Great job! You finished this workout for the first time! Train next week and see your improvments.";
                feedback_image.Source = new BitmapImage(new Uri("ms-appx:///Images/gold.png"));
            }

            if (otherUsersStatisticsCount > 0)
            {
                OtherUsersStatistics.Visibility = Visibility.Visible;
            }

            var newWorkoutStatistics = new UserWorkoutStatistics()
            {
                Id        = Guid.NewGuid().ToString(),
                WorkoutId = WorkoutSummaryParams.WorkoutId,
                UserId    = MainDashboard.CurrentUser.Id,
                PerformanceTimeAvarage  = span.TotalMinutes,
                GeneralColumn1          = WorkoutSummaryParams.numberOfExercisesPerformed,
                PerformanceNumberCount  = prevWorkoutsStatistics.Count > 0 ? prevWorkoutsStatistics.Max(stat => stat.PerformanceNumberCount) + 1 : 1,
                HeartReatAvarage        = HeartRateModel.getAverage(),
                MaximalHeartRateAvarage = HeartRateModel.getPeak(),
                CaloriesBurnedAvarage   = CaloriesModel.calories,
            };

            if (App.updateStatistics)
            {
                await App.UserWorkoutStatisticsTable.InsertAsync(newWorkoutStatistics);

                App.UserWorkoutStatistics = await App.UserWorkoutStatisticsTable.ToListAsync();
            }



            App.updateStatistics = false;
        }