private void UpdateProgramDescription(ScheduleInfo episode)
    {
      if (episode == null)
      {
        episode = new ScheduleInfo(CurrentProgram.IdChannel,
                                   TVUtil.GetDisplayTitle(CurrentProgram),
                                   CurrentProgram.Description,
                                   CurrentProgram.Genre,
                                   CurrentProgram.StartTime,
                                   CurrentProgram.EndTime);
      }

      try
      {
        //Log.Debug("TVProgrammInfo.UpdateProgramDescription: {0} - {1}", episode.Title, episode.Description);

        lblProgramChannel.Label = Channel.Retrieve(episode.IdChannel).DisplayName;
        string strTime = String.Format("{0} {1} - {2}",
                                       Utils.GetShortDayString(episode.StartTime),
                                       episode.StartTime.ToString("t", CultureInfo.CurrentCulture.DateTimeFormat),
                                       episode.EndTime.ToString("t", CultureInfo.CurrentCulture.DateTimeFormat));

        lblProgramGenre.Label = episode.Genre;
        lblProgramTime.Label = strTime;
        lblProgramDescription.Label = episode.Description;
        lblProgramTitle.Label = episode.Title;
      }
      catch (Exception ex)
      {
        Log.Error("TVProgramInfo: Error updating program description - {0}", ex.ToString());
      }
    }
 private void item_OnItemSelected(GUIListItem item, GUIControl parent)
 {
   lock (updateLock)
   {
     if (item != null && item.MusicTag != null)
     {
       //CacheManager.ClearQueryResultsByType(typeof(Program));
       Program lstProg = item.MusicTag as Program;
       if (lstProg != null)
       {
         ScheduleInfo refEpisode = new ScheduleInfo(
           lstProg.IdChannel,
           TVUtil.GetDisplayTitle(lstProg),
           lstProg.Description,
           lstProg.Genre,
           lstProg.StartTime,
           lstProg.EndTime
           );
         GUIGraphicsContext.form.Invoke(new UpdateCurrentItem(UpdateProgramDescription), new object[] {refEpisode});
       }
     }
     else
     {
       Log.Warn("TVProgrammInfo.item_OnItemSelected: params where NULL!");
     }
   }
 }