public async void StopVote()
 {
     try
     {
         if (ActivePoll == null)
         {
             return;
         }
         var oldPoll = ActivePoll;
         if (ActivePoll != null)
         {
             await ActivePoll.End();
         }
         if (pollTimer != null)
         {
             pollTimer.Enabled = false;
         }
         ActivePoll = null;
         await oldPoll?.PublishResult();
     }
     catch (Exception ex)
     {
         Trace.TraceError("Error stopping vote " + ex);
     }
 }
        public async void StopVote(Say e = null)
        {
            var oldPoll = ActivePoll;

            if (ActivePoll != null)
            {
                await ActivePoll.End();
            }
            if (pollTimer != null)
            {
                pollTimer.Enabled = false;
            }
            ActivePoll = null;
            oldPoll.PublishResult();
        }
 private void pollTimer_Elapsed(object sender, ElapsedEventArgs e)
 {
     try
     {
         pollTimer.Stop();
         if (ActivePoll != null)
         {
             ActivePoll.End();
         }
         StopVote();
     }
     catch { }
     finally
     {
         pollTimer.Start();
     }
 }