Beispiel #1
0
        /// <summary>
        /// Method to get pulse of User during exercise
        /// </summary>
        /// <param name="user">User whose pulse you want to get </param>
        /// <returns></returns>
        public int GetPulsePerMinute(User user, Exercises exercise)
        {
            var randomPulse = new Random();

            StatusNotification?.Invoke("Pulse statistic ready!");
            return(randomPulse.Next(60, 120));
        }
Beispiel #2
0
        /// <summary>
        /// Method to add exercises to user tracker
        /// </summary>
        /// <param name="user">User to which you want to add exercise</param>
        /// <param name="exercise">Exercise you want to add</param>
        /// <param name="exerciseStart">Date when you have done exercise</param>
        /// <param name="exerciseEnd">Date when you have finished exercise</param>
        /// <param name="units">Specific unit of exercise (distance\times etc.)</param>
        public void AddNewExercise(User user, Exercises exercise, DateTime exerciseStart, DateTime exerciseEnd, double units)
        {
            var statisticService = new StatisticService();

            statisticService.StatusNotification += NotificationManager.SendStatusNotification;
            statisticService.ErrorNotification  += NotificationManager.SendErrorNotification;

            switch (exercise)
            {
            case Exercises.PushUps:
                var newPushUps = new PushUpSeries
                {
                    Name             = $"PushUps #{user.PushUps.Count + 1}",
                    ExerciseStart    = exerciseStart,
                    ExerciseEnd      = exerciseEnd,
                    ExerciseTimeSpan = exerciseEnd - exerciseStart,
                    Count            = (int)units,
                };
                user.PushUps.Add(newPushUps);
                StatusNotification?.Invoke($"Push Ups #{user.PushUps.Count} for user {user.Name} successfully added!");
                user.AvaragePushUps = statisticService.GetAverageStatistic(user, exercise);
                break;

            case Exercises.Run:
                var newRun = new Run
                {
                    Name             = $"Run #{user.Runs.Count + 1}",
                    ExerciseStart    = exerciseStart,
                    ExerciseEnd      = exerciseEnd,
                    ExerciseTimeSpan = exerciseEnd - exerciseStart,
                    Distance         = units,
                };
                user.Runs.Add(newRun);
                StatusNotification?.Invoke($"Run #{user.Runs.Count} for user {user.Name} successfully added!");
                user.AvarageRunDistance = statisticService.GetAverageStatistic(user, exercise);
                break;

            case Exercises.Squats:
                var newSquats = new SquatSeries
                {
                    Name             = $"Squats #{user.Squats.Count + 1}",
                    ExerciseStart    = exerciseStart,
                    ExerciseEnd      = exerciseEnd,
                    ExerciseTimeSpan = exerciseEnd - exerciseStart,
                    Count            = (int)units,
                };
                user.Squats.Add(newSquats);
                StatusNotification?.Invoke($"Squats #{user.Squats.Count} for user {user.Name} successfully added!");
                user.AvarageSquats = statisticService.GetAverageStatistic(user, exercise);
                break;

            default:
                ErrorNotification?.Invoke("No such Exercise!");
                break;
            }
            user.AvarageExercisePulse = statisticService.GetPulsePerMinute(user, exercise);
        }