public override void Start(PomodoroController controller) { TimeSpan elapsedFullMinutes = new TimeSpan(0, 0, MinutesInState - MinuteCountDown, 0); TimeSpan elapsedTime = PauseTime.Subtract(StartTime).Subtract(PreviousState.TotalPauseTimeSpan); TimeSpan totalPauseTimeSpan = DateTime.Now.Subtract(StartTime).Subtract(elapsedTime); double minuteTimerTimeLeft = MilisecondsPerMinute - elapsedTime.Subtract(elapsedFullMinutes).TotalMilliseconds; Console.WriteLine($"{nameof(Paused)}"); Console.WriteLine($" elapsedFullMinutes = {elapsedFullMinutes.TotalMilliseconds}"); Console.WriteLine($" elapsedTime = {elapsedTime.TotalMilliseconds}"); Console.WriteLine($" totalPauseTimeSpan = {totalPauseTimeSpan.TotalMilliseconds}"); Console.WriteLine($" minuteTimerTimeLeft = {minuteTimerTimeLeft}"); controller.State = PreviousState; controller.State.Start(minuteTimerTimeLeft, totalPauseTimeSpan); }
public Stopwatch Resume() { if (IsRunning && IsPaused) { if (PauseTime != null) { StartTime.Add(PauseTime.Subtract(DateTime.Now)); } IsPaused = false; CompositionTarget.Rendering += Tick; if (Resumed != null) { Resumed(this); } } return(this); }