public Pomodoro() { this._pomodoroState = PomodoroState.ShutDown; this.CountdownTime = _timeForWork; this.OnStateChange -= OnPomodoroStateChange; this.OnStateChange += OnPomodoroStateChange; this.Goal = "ЗАДАЧА"; }
private void ResumeTask() { if (workingTask == null) { return; } pomodoroState = PomodoroState.TaskDoing; }
private void PauseTask() { if (workingTask == null) { return; } pomodoroState = PomodoroState.TaskPaused; }
private void RestartTask() { if (workingTask == null) { return; } duration = TimeSpan.FromMinutes(TaskTime); pomodoroState = PomodoroState.TaskDoing; }
/// <summary> /// Остановить помодоро /// </summary> public void Stop() { switch (this.State) { case PomodoroState.Working: this.State = PomodoroState.WorkStopping; break; case PomodoroState.Relaxing: this.State = PomodoroState.RelaxStopping; break; } }
private void StopTask() { if (workingTask == null) { return; } workingTask = null; pomodoroState = PomodoroState.Stopped; CleanProgression(); }
/// <summary> /// Внутренний обработчик события изменения статуса /// </summary> /// <param name="sender"></param> /// <param name="prevstate"></param> /// <param name="curstate"></param> private void OnPomodoroStateChange(object sender, PomodoroState prevstate, PomodoroState curstate) { //Устанавливаем время счетчику при изменениях состояний if (prevstate != PomodoroState.RelaxStopping && curstate == PomodoroState.Relaxing) { this.CountdownTime = this._timeForRelax; } if (prevstate != PomodoroState.WorkStopping && curstate == PomodoroState.Working) { this.CountdownTime = this._timeForWork; } }
private string GetStateName(PomodoroState complatedState) { switch (complatedState) { case PomodoroState.Pomodoro: return(pomodoroText); case PomodoroState.PomodoroBreak: return(pomodoroBreakText); case PomodoroState.SessionBreak: return(sessionBreakText); default: return(""); } }
/// <summary> /// Запустить помодоро /// </summary> public void Start() { switch (this.State) { case PomodoroState.ShutDown: this.CountdownTime = this.TimeForWork; this.State = PomodoroState.Working; break; case PomodoroState.RelaxStopping: this.State = PomodoroState.Relaxing; break; case PomodoroState.WorkStopping: this.State = PomodoroState.Working; break; } }
private void StartTask() { if (!pomodoroTasks.Any()) { return; } workingTask = pomodoroTasks.FirstOrDefault(); if (workingTask == null) { return; } pomodoroTasks.Remove(workingTask); duration = TimeSpan.FromMinutes(TaskTime); pomodoroState = PomodoroState.TaskDoing; }
private async Task OnPomodoroStateChanged(PomodoroState newState) { switch (newState) { case PomodoroState.Pomodoro: await _luxaforDevice?.SetColor(LedTarget.All, new LuxaforSharp.Color(255, 0, 0)); break; case PomodoroState.ShortBreak: await _luxaforDevice?.SetColor(LedTarget.All, new LuxaforSharp.Color(0, 255, 0)); break; case PomodoroState.ShortBreakEnded: await _luxaforDevice?.SetColor(LedTarget.All, new LuxaforSharp.Color(0, 0, 0)); await _luxaforDevice?.Blink(LedTarget.All, new LuxaforSharp.Color(0, 0, 255), 5, 3); break; } }
private void OnFinished() { Logger.Log("Finished\n\n"); PomodoroState complatedState = PomodoroStatus.PomodoroState; TimerFinishedEvent?.Invoke(this, new PomodoroChangedEventArgs(complatedState)); switch (complatedState) { case PomodoroState.Pomodoro: FinishedWitoutSessionBreak++; if (FinishedWitoutSessionBreak == PomodoroSettings.SessionPomodoroCount) { StartSessionBreak(); } else { StartBreak(); } break; case PomodoroState.PomodoroBreak: case PomodoroState.SessionBreak: if (PomodoroSettings.AutoContinue) { StartPomodoro(); } else { WaitForStart(); } break; default: WaitForStart(); break; } }
public void SetFinisedInfo(PomodoroState complatedState) { CrossLocalNotifications.Current.Show(GetStateName(complatedState), FinishedText, 1); }
private void StopBreak() { pomodoroState = PomodoroState.Stopped; CleanProgression(); }
private void ResumeBreak() { pomodoroState = PomodoroState.BreakDoing; }
private void PauseBreak() { pomodoroState = PomodoroState.BreakPaused; }
private void RestartBreak() { duration = TimeSpan.FromMinutes(BreakTime); pomodoroState = PomodoroState.BreakDoing; }
public PomodoroChangedEventArgs(PomodoroState complatedState) { ComplatedState = complatedState; }