TvDatabase.TvBusinessLayer.GetProgramExists C# (CSharp) Method

GetProgramExists() public method

public GetProgramExists ( TvDatabase.Channel channel, System.DateTime startTime, System.DateTime endTime ) : IList
channel TvDatabase.Channel
startTime System.DateTime
endTime System.DateTime
return IList
    public IList<Program> GetProgramExists(Channel channel, DateTime startTime, DateTime endTime)
    {
      IFormatProvider mmddFormat = new CultureInfo(String.Empty, false);
      SqlBuilder sb = new SqlBuilder(StatementType.Select, typeof (Program));

      string sub1 =
        String.Format("( (StartTime >= '{0}' and StartTime < '{1}') or ( EndTime > '{0}' and EndTime <= '{1}' ) )",
                      startTime.ToString(GetDateTimeString(), mmddFormat),
                      endTime.ToString(GetDateTimeString(), mmddFormat));
      string sub2 = String.Format("(StartTime < '{0}' and EndTime > '{1}')",
                                  startTime.ToString(GetDateTimeString(), mmddFormat),
                                  endTime.ToString(GetDateTimeString(), mmddFormat));

      sb.AddConstraint(Operator.Equals, "idChannel", channel.IdChannel);
      sb.AddConstraint(string.Format("({0} or {1}) ", sub1, sub2));
      sb.AddOrderByField(true, "starttime");

      SqlStatement stmt = sb.GetStatement(true);
      return ObjectFactory.GetCollection<Program>(stmt.Execute());
    }

Usage Example

示例#1
0
    private void OnGetIMDBInfo()
    {
      IMDBMovie movieDetails = new IMDBMovie();
      movieDetails.SearchString = _currentProgram.Title;
      if (IMDBFetcher.GetInfoFromIMDB(this, ref movieDetails, false, false))
      {
        TvBusinessLayer dbLayer = new TvBusinessLayer();

        IList<Program> progs = dbLayer.GetProgramExists(Channel.Retrieve(_currentProgram.IdChannel),
                                                        _currentProgram.StartTime, _currentProgram.EndTime);
        if (progs != null && progs.Count > 0)
        {
          Program prog = (Program)progs[0];
          prog.Description = movieDetails.Plot;
          // prog.Genre = movieDetails.Genre;
          prog.StarRating = (int)movieDetails.Rating;
          prog.Persist();
        }
        GUIVideoInfo videoInfo = (GUIVideoInfo)GUIWindowManager.GetWindow((int)Window.WINDOW_VIDEO_INFO);
        videoInfo.AllocResources();
        videoInfo.Movie = movieDetails;
        GUIButtonControl btnPlay = (GUIButtonControl)videoInfo.GetControl(2);
        if (btnPlay != null)
        {
          btnPlay.Visible = false;
        }
        GUICheckButton btnCast = (GUICheckButton)videoInfo.GetControl(4);
        if (btnCast != null)
        {
          btnCast.Visible = false;
        }
        GUICheckButton btnWatched = (GUICheckButton)videoInfo.GetControl(6);
        if (btnWatched != null)
        {
          btnWatched.Visible = false;
        }
        GUIWindowManager.ActivateWindow((int)Window.WINDOW_VIDEO_INFO);
      }
      else
      {
        Log.Info("IMDB Fetcher: Nothing found");
      }
    }
TvBusinessLayer