private void Start() { if (CanStart()) { TimerDuration = _timerService.Start(new TimeSpan(TimerDuration.Hours, TimerDuration.Minutes, TimerDuration.Seconds)); } }
public void SetTimer(string name, double durationSeconds) { TimerName = name; TimerDuration = TimeSpan.FromSeconds(durationSeconds); Timer = new Timer((_) => { TimerDuration = TimerDuration.Subtract(TimeSpan.FromSeconds(1)); if (TimerDuration.TotalSeconds <= 0) { Timer.Dispose(); Timer = null; } OnTimerChange?.Invoke(); }, null, 0, 1000); }