예제 #1
0
        public EpgEventInfo GetPgInfo(bool isSrv = true)
        {
            //まずは手持ちのデータを探す
            EpgEventInfo pg = MenuUtil.GetPgInfoUidAll(CurrentPgUID());

            if (pg != null || isSrv == false)
            {
                return(pg);
            }

            //過去番組情報を探してみる
            if (PgStartTime >= CommonManager.Instance.DB.EventTimeMinArc)
            {
                var arcList = new List <EpgServiceEventInfo>();
                CommonManager.Instance.DB.LoadEpgArcData(PgStartTime, PgStartTime.AddSeconds(1), ref arcList, Create64Key().IntoList());
                if (arcList.Any())
                {
                    return(arcList[0].eventList.FirstOrDefault());
                }
            }

            //現在番組情報も探してみる ※EPGデータ未読み込み時で、録画直後の場合
            if (CommonManager.Instance.DB.IsEpgLoaded == false)
            {
                var list = new List <EpgEventInfo>();
                try { CommonManager.CreateSrvCtrl().SendGetPgInfoList(Create64PgKey().IntoList(), ref list); } catch { }
                return(list.FirstOrDefault());
            }

            return(null);
        }
예제 #2
0
 protected override void ReloadInfo()
 {
     if (InfoCheckFlg == true && this.IsVisible == true && (this.WindowState != WindowState.Minimized || this.IsActive == true))
     {
         //eventInfo更新は必要なときだけ
         if (ReloadInfoFlg == true && eventInfo != null)
         {
             SetData(MenuUtil.GetPgInfoUidAll(eventInfo.CurrentPgUID()));
         }
         recSettingView.RefreshView();
         CheckData(false);
         ReloadInfoFlg = false;
         InfoCheckFlg  = false;
     }
 }