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; }
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); } }
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); }
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); } }
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; }
protected virtual uint LimitedDuration(IBasicPgInfo info) { return(info.PgDurationSecond); }
protected virtual DateTime LimitedStart(IBasicPgInfo info) { return(info.PgStartTime); }
protected override uint LimitedDuration(IBasicPgInfo info) { return((uint)(info.PgDurationSecond - (LimitedStart(info) - info.PgStartTime).TotalSeconds)); }
protected override DateTime LimitedStart(IBasicPgInfo info) { return(CommonUtil.Max(info.PgStartTime, ViewPeriod.Start)); }