void alertControl_ProcessNextAlert(object sender, ProcessNextItemEventArgs e)
 {
     try
     {
         _AlertNotificationMapViewModel.IsAlertProcessing = !e.CanProcessNextItem;
         if (e.CanProcessNextItem)
         {
             if (_AlertNotificationMapViewModel.NotificationsToNotify != null &&
                 _AlertNotificationMapViewModel.NotificationsToNotify.Count > 0)
             {
                 NotifyRemainingAlerts();
                 timer.Start();
                 //Approve
                 //
                 //_AlertNotificationMapViewModel.SelectedSupervisorNotificationDTO
             }
         }
         else
         {
             timer.Stop();
         }
     }
     catch (Exception ex)
     {
         Utility.WriteLog(ex);
         MessageBox.Show(Utility.GetErrorMessage());
         Utility.LogOut();
     }
 }
 protected virtual void OnProcessNextAlert(ProcessNextItemEventArgs E)
 {
     try
     {
         var handler = ProcessNextAlert;
         if (handler != null)
         {
             handler(this, E);
         }
     }
     catch (Exception ex)
     {
         Utility.WriteLog(ex);
         MessageBox.Show(Utility.GetErrorMessage());
         Utility.LogOut();
     }
 }
        //public event ProcessNextItemEventHandler ProcessNextAlert;

        protected virtual void OnProcessNextAlert(ProcessNextItemEventArgs E)
        {
        }