Пример #1
0
        protected override void mc_ToAutoadd(object sender, ExecutedRoutedEventArgs e)
        {
            ReserveData  resData      = null;
            IBasicPgInfo eventRefData = null;

            if (eventList.Count != 0)
            {
                resData = CtrlCmdDefEx.ConvertEpgToReserveData(eventList[0]);
                if (dataList.Count != 0)
                {
                    resData.RecSetting = dataList[0].RecSetting.DeepClone();
                }
                else
                {
                    resData.RecSetting = Settings.Instance.RecPresetList[0].Data.DeepClone();
                }
                eventRefData = eventList[0];
            }
            else if (dataList.Count != 0)
            {
                resData      = dataList[0];
                eventRefData = new ReserveItem(resData).EventInfo ?? (IBasicPgInfo)resData;
            }

            var key = MenuUtil.SendAutoAddKey(eventRefData, CmdExeUtil.IsKeyGesture(e));

            MenuUtil.SendAutoAdd(resData, CmdExeUtil.IsKeyGesture(e), key);
            IsCommandExecuted = true;
        }
Пример #2
0
        public static void SendAutoAdd(IBasicPgInfo item, bool NotToggle = false, EpgSearchKeyInfo key = null)
        {
            try
            {
                if (item == null)
                {
                    return;
                }

                var dlg = new SearchWindow(mode: AutoAddMode.NewAdd);
                dlg.SetSearchKey(key ?? SendAutoAddKey(item, NotToggle));

                if (item is IRecSetttingData)
                {
                    var            item_r    = (item as IRecSetttingData);
                    RecPresetItem  recPreSet = item_r.RecSettingInfo.LookUpPreset(item_r.IsManual, true);
                    RecSettingData recSet    = recPreSet.Data;
                    if (recPreSet.IsCustom == true && recSet.RecMode == 5)
                    {
                        recSet.RecMode = 1;
                    }
                    dlg.SetRecSetting(recSet);
                }

                dlg.Show();
            }
            catch (Exception ex) { MessageBox.Show(ex.Message + "\r\n" + ex.StackTrace); }
        }
Пример #3
0
        public static EpgSearchKeyInfo SendAutoAddKey(IBasicPgInfo item, bool NotToggle = false, EpgSearchKeyInfo key = null)
        {
            key            = key ?? Settings.Instance.SearchPresetList[0].Data.DeepClone();
            key.andKey     = TrimEpgKeyword(item.DataTitle, NotToggle);
            key.regExpFlag = 0;
            key.serviceList.Clear();
            key.serviceList.Add((Int64)item.Create64Key());

            var eventInfo = item as EpgEventInfo;

            if (eventInfo != null && Settings.Instance.MenuSet.SetJunreToAutoAdd == true)
            {
                key.notContetFlag = 0;
                key.contentList.Clear();
                if (eventInfo.ContentInfo != null)
                {
                    var kindList = eventInfo.ContentInfo.nibbleList.Where(info => info.IsAttributeInfo == false);
                    if (Settings.Instance.MenuSet.SetJunreContentToAutoAdd == true)
                    {
                        kindList = kindList.GroupBy(info => info.CategoryKey).Select(gr => new EpgContentData(gr.Key));
                    }
                    key.contentList = kindList.DeepClone();
                }
            }
            return(key);
        }
Пример #4
0
        public static void SendAutoAdd(IBasicPgInfo item, bool NotToggle = false)
        {
            try
            {
                if (item == null)
                {
                    return;
                }

                var dlg = new SearchWindow();
                dlg.SetViewMode(SearchWindow.SearchMode.NewAdd);

                EpgSearchKeyInfo key = Settings.Instance.DefSearchKey.Clone();
                key.andKey     = TrimEpgKeyword(item.DataTitle, NotToggle);
                key.regExpFlag = 0;
                key.serviceList.Clear();
                key.serviceList.Add((Int64)item.Create64Key());
                dlg.SetSearchKey(key);

                if (item is IRecSetttingData)
                {
                    var            item_r    = (item as IRecSetttingData);
                    RecPresetItem  recPreSet = item_r.RecSettingInfo.LookUpPreset(item_r.IsManual, true);
                    RecSettingData recSet    = recPreSet.RecPresetData;
                    if (recPreSet.IsCustom == true && recSet.RecMode == 5)
                    {
                        recSet.RecMode = 1;
                    }
                    dlg.SetRecSetting(recSet);
                }

                dlg.Show();
            }
            catch (Exception ex) { MessageBox.Show(ex.Message + "\r\n" + ex.StackTrace); }
        }
Пример #5
0
        protected override void mc_ToAutoadd(object sender, ExecutedRoutedEventArgs e)
        {
            ReserveData  resData      = dataList.Count != 0 ? dataList[0] : null;
            IBasicPgInfo eventRefData = eventList.Count != 0 ? eventList[0] : null;

            if (resData != null)
            {
                eventRefData = eventRefData ?? new ReserveItem(resData).EventInfo ?? (IBasicPgInfo)resData;
            }
            else if (eventRefData != null)
            {
                resData            = ((EpgEventInfo)eventRefData).ToReserveData();
                resData.RecSetting = GetRecSetting() ?? Settings.Instance.RecPresetList[0].Data.DeepClone();
            }
            else if (recinfoList.Count != 0)
            {
                eventRefData = recinfoList[0];
            }

            var key = MenuUtil.SendAutoAddKey(eventRefData, CmdExeUtil.IsKeyGesture(e), GetSearchKey());

            MenuUtil.SendAutoAdd(resData ?? eventRefData, CmdExeUtil.IsKeyGesture(e), key);
            IsCommandExecuted = true;
        }
Пример #6
0
 protected virtual uint LimitedDuration(IBasicPgInfo info)
 {
     return(info.PgDurationSecond);
 }
Пример #7
0
 protected virtual DateTime LimitedStart(IBasicPgInfo info)
 {
     return(info.PgStartTime);
 }
Пример #8
0
 protected override uint LimitedDuration(IBasicPgInfo info)
 {
     return((uint)(info.PgDurationSecond - (LimitedStart(info) - info.PgStartTime).TotalSeconds));
 }
Пример #9
0
 protected override DateTime LimitedStart(IBasicPgInfo info)
 {
     return(CommonUtil.Max(info.PgStartTime, ViewPeriod.Start));
 }