Example #1
0
        private async Task StartAsync()
        {
            workoutState = WorkoutState.Started;
            workoutCancellationTokenSource = new CancellationTokenSource();
            IEnumerable <IExercise> exercises = workout.Exercises;

            round = workout.Rounds;

            await using Timer timer = new Timer(OnTimerElapsed, null, 0, 1000);

            while (round > 0)
            {
                if (workoutCancellationTokenSource.IsCancellationRequested)
                {
                    break;
                }

                foreach (IExercise exercise in exercises)
                {
                    SetExerciseInfo(exercise);
                    await Task.Delay(exercise.Duration, workoutCancellationTokenSource.Token);
                }

                await Task.Delay(workout.RestAfterRound, workoutCancellationTokenSource.Token);

                round--;
            }

            RestoreDefaults();
            workoutState = WorkoutState.Finished;
        }
 protected override void ReadInternal(ResponseReader reader)
 {
     WorkoutState val = (WorkoutState)reader.ReadByte();
     WorkoutState = Enum.IsDefined(typeof(WorkoutState), val) ? val : WorkoutState.Unknown;
 }
Example #3
0
 public Workout(IEnumerable <IEvent> events)
 {
     State = new WorkoutState(events);
     state = State as WorkoutState;
 }
Example #4
0
 private async Task StopAsync()
 {
     workoutCancellationTokenSource?.Cancel();
     workoutState = WorkoutState.NotStarted;
 }
Example #5
0
 protected override Task OnInitializedAsync()
 {
     workout      = new Spartacus();
     workoutState = WorkoutState.NotStarted;
     return(Task.CompletedTask);
 }
Example #6
0
 private async Task ResumeAsync()
 {
     workoutState = WorkoutState.Started;
 }
Example #7
0
 private async Task PauseAsync()
 {
     workoutState = WorkoutState.Paused;
 }