/// <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)); }
/// <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); }