private void TimerElapsed(object sender, ElapsedEventArgs e) { RemainingTimeInSeconds--; ShowRemainingTime(); if (RemainingTimeInSeconds > 0) { return; } timer.Stop(); timer.Dispose(); _ = OnTimeout.InvokeAsync(OnTimeout); }