public void UnpauseProgram()
 {
     if (RunningProgram != null && isPaused)
     {
         isPaused     = false;
         ZoneStopTime = ZoneStopTime.AddSeconds(-zonePauseSecondsLeft);
         if (RunningZone > -1)
         {
             Controller.SetZoneOn(RunningZone);
         }
     }
 }
 /// <summary>
 /// pause the running program for a specified number of minutes
 /// </summary>
 /// <param name="index"></param>
 /// <param name="minutes"></param>
 public void PauseProgram(int minutes)
 {
     if (RunningProgram != null)
     {
         if (RunningZone > -1)
         {
             // stop current zone
             Controller.SetZoneOff(RunningZone);
         }
         isPaused             = true;
         zoneRunSecondsLeft  += minutes * 60;
         ZoneStopTime         = ZoneStopTime.AddMinutes(minutes);
         zonePauseSecondsLeft = minutes * 60;
         ZonePauseStopTime    = DateTime.Now.AddMinutes(minutes);
     }
 }