public override bool OnFinish() { try { Cursor.Current = Cursors.WaitCursor; _destinationPanel.Enabled = false; _exportProgressBar.Minimum = 0; _exportProgressBar.Value = 0; _exportProgressBar.Maximum = this.Context.ImportChannels.Count; _exportProgressBar.Visible = true; Application.DoEvents(); using (SchedulerServiceAgent tvSchedulerAgent = new SchedulerServiceAgent()) using (GuideServiceAgent tvGuideAgent = new GuideServiceAgent()) { _channelMembersByName.Clear(); _channelGroupsByName.Clear(); ChannelGroup[] allGroups = tvSchedulerAgent.GetAllChannelGroups(this.Context.ChannelType, false); foreach (ChannelGroup channelGroup in allGroups) { _channelGroupsByName[channelGroup.GroupName] = channelGroup; } int count = 0; foreach (ImportChannelsContext.ImportChannel importChannel in this.Context.ImportChannels) { _exportingFileLabel.Text = importChannel.Channel.DisplayName; Application.DoEvents(); ImportChannel(tvGuideAgent, tvSchedulerAgent, importChannel); _exportProgressBar.Value = ++count; } foreach (string groupName in _channelGroupsByName.Keys) { if (_channelMembersByName.ContainsKey(groupName)) { tvSchedulerAgent.SetChannelGroupMembers( _channelGroupsByName[groupName].ChannelGroupId, _channelMembersByName[groupName].ToArray()); } } Channels.ChannelLinks.Save(); } return(true); } catch (Exception ex) { Cursor.Current = Cursors.Default; MessageBox.Show(this, ex.Message, null, MessageBoxButtons.OK, MessageBoxIcon.Error); _destinationPanel.Enabled = true; _exportProgressBar.Visible = false; } finally { _exportingFileLabel.Text = String.Empty; Cursor.Current = Cursors.Default; } return(false); }
private void RefreshGroups(ChannelType channelType) { try { using (SchedulerServiceAgent tvSchedulerAgent = new SchedulerServiceAgent()) { List <ChannelGroup> groups = new List <ChannelGroup>(tvSchedulerAgent.GetAllChannelGroups(channelType, true)); if (_currentChannelGroup != null && _currentChannelGroup.ChannelGroupId != ChannelGroup.AllTvChannelsGroupId && _currentChannelGroup.ChannelGroupId != ChannelGroup.AllRadioChannelsGroupId) { bool currentFound = false; foreach (ChannelGroup group in groups) { if (group.ChannelGroupId == _currentChannelGroup.ChannelGroupId) { currentFound = true; break; } } if (!currentFound) { _currentChannelGroup = null; } } bool hideAllChannelsGroup = false; using (Settings xmlreader = new MPSettings()) { hideAllChannelsGroup = xmlreader.GetValueAsBool("mytv", "hideAllChannelsGroup", false); } if (!hideAllChannelsGroup || groups.Count == 0) { groups.Add(new ChannelGroup() { ChannelGroupId = channelType == ChannelType.Television ? ChannelGroup.AllTvChannelsGroupId : ChannelGroup.AllRadioChannelsGroupId, ChannelType = channelType, GroupName = Utility.GetLocalizedText(TextId.AllChannels), Sequence = int.MaxValue, VisibleInGuide = true }); } _navigatorChannels[channelType].Groups = groups; if (_currentChannelGroup == null && _navigatorChannels[channelType].Groups.Count > 0) { _currentChannelGroup = _navigatorChannels[channelType].Groups[0]; RefreshChannelsInGroup(tvSchedulerAgent, channelType); } } } catch (Exception ex) { Log.Error("ChannelNavigator: Error in RefreshChannelGroups - {0}", ex.Message); } }
private static List <ChannelGroup> GetAllGroups(SchedulerServiceAgent tvSchedulerAgent, ChannelType channelType) { List <ChannelGroup> groups = new List <ChannelGroup>(tvSchedulerAgent.GetAllChannelGroups(channelType, true)); Guid allChannelsGroupId = (channelType == ChannelType.Television) ? ChannelGroup.AllTvChannelsGroupId : ChannelGroup.AllRadioChannelsGroupId; groups.Add(new ChannelGroup() { ChannelGroupId = allChannelsGroupId, ChannelType = channelType, GroupName = "All channels", Sequence = int.MaxValue, VisibleInGuide = true }); return(groups); }
private void RefreshGroups(ChannelType channelType) { try { using (SchedulerServiceAgent tvSchedulerAgent = new SchedulerServiceAgent()) { List<ChannelGroup> groups = new List<ChannelGroup>(tvSchedulerAgent.GetAllChannelGroups(channelType, true)); if (_currentChannelGroup != null && _currentChannelGroup.ChannelGroupId != ChannelGroup.AllTvChannelsGroupId && _currentChannelGroup.ChannelGroupId != ChannelGroup.AllRadioChannelsGroupId) { bool currentFound = false; foreach (ChannelGroup group in groups) { if (group.ChannelGroupId == _currentChannelGroup.ChannelGroupId) { currentFound = true; break; } } if (!currentFound) { _currentChannelGroup = null; } } bool hideAllChannelsGroup = false; using (Settings xmlreader = new MPSettings()) { hideAllChannelsGroup = xmlreader.GetValueAsBool("mytv", "hideAllChannelsGroup", false); } if (!hideAllChannelsGroup || groups.Count == 0) { groups.Add(new ChannelGroup( channelType == ChannelType.Television ? ChannelGroup.AllTvChannelsGroupId : ChannelGroup.AllRadioChannelsGroupId, (int)channelType, Utility.GetLocalizedText(TextId.AllChannels), true, int.MaxValue, 0)); } _navigatorChannels[channelType].Groups = groups; if (_currentChannelGroup == null && _navigatorChannels[channelType].Groups.Count > 0) { _currentChannelGroup = _navigatorChannels[channelType].Groups[0]; RefreshChannelsInGroup(tvSchedulerAgent, channelType); } } } catch (Exception ex) { Log.Error("ChannelNavigator: Error in RefreshChannelGroups - {0}", ex.Message); } }
private static List<ChannelGroup> GetAllGroups(SchedulerServiceAgent tvSchedulerAgent, ChannelType channelType) { List<ChannelGroup> groups = new List<ChannelGroup>(tvSchedulerAgent.GetAllChannelGroups(channelType, true)); Guid allChannelsGroupId = (channelType == ChannelType.Television) ? ChannelGroup.AllTvChannelsGroupId : ChannelGroup.AllRadioChannelsGroupId; groups.Add(new ChannelGroup() { ChannelGroupId = allChannelsGroupId, ChannelType = channelType, GroupName = "All channels", Sequence = int.MaxValue, VisibleInGuide = true }); return groups; }
private static List<ChannelGroup> GetAllGroups(SchedulerServiceAgent tvSchedulerAgent, ChannelType channelType) { List<ChannelGroup> groups = new List<ChannelGroup>(tvSchedulerAgent.GetAllChannelGroups(channelType, true)); Guid allChannelsGroupId = (channelType == ChannelType.Television) ? ChannelGroup.AllTvChannelsGroupId : ChannelGroup.AllRadioChannelsGroupId; groups.Add(new ChannelGroup(allChannelsGroupId, (int)channelType, "All channels", true, int.MaxValue, 0)); return groups; }
public override bool OnFinish() { try { Cursor.Current = Cursors.WaitCursor; _destinationPanel.Enabled = false; _exportProgressBar.Minimum = 0; _exportProgressBar.Value = 0; _exportProgressBar.Maximum = this.Context.ImportChannels.Count; _exportProgressBar.Visible = true; Application.DoEvents(); using (SchedulerServiceAgent tvSchedulerAgent = new SchedulerServiceAgent()) using (GuideServiceAgent tvGuideAgent = new GuideServiceAgent()) { _channelMembersByName.Clear(); _channelGroupsByName.Clear(); ChannelGroup[] allGroups = tvSchedulerAgent.GetAllChannelGroups(this.Context.ChannelType, false); foreach (ChannelGroup channelGroup in allGroups) { _channelGroupsByName[channelGroup.GroupName] = channelGroup; } int count = 0; foreach (ImportChannelsContext.ImportChannel importChannel in this.Context.ImportChannels) { _exportingFileLabel.Text = importChannel.Channel.DisplayName; Application.DoEvents(); ImportChannel(tvGuideAgent, tvSchedulerAgent, importChannel); _exportProgressBar.Value = ++count; } foreach (string groupName in _channelGroupsByName.Keys) { if (_channelMembersByName.ContainsKey(groupName)) { tvSchedulerAgent.SetChannelGroupMembers( _channelGroupsByName[groupName].ChannelGroupId, _channelMembersByName[groupName].ToArray()); } } Channels.ChannelLinks.Save(); } return true; } catch (Exception ex) { Cursor.Current = Cursors.Default; MessageBox.Show(this, ex.Message, null, MessageBoxButtons.OK, MessageBoxIcon.Error); _destinationPanel.Enabled = true; _exportProgressBar.Visible = false; } finally { _exportingFileLabel.Text = String.Empty; Cursor.Current = Cursors.Default; } return false; }
private void LoadGroups() { ChannelType channelType = this.ChannelType; if (!_channelGroups.ContainsKey(channelType)) { try { using (SchedulerServiceAgent tvSchedulerAgent = new SchedulerServiceAgent()) { List<ChannelGroup> channelGroups = new List<ChannelGroup>(tvSchedulerAgent.GetAllChannelGroups(channelType, true)); ChannelGroup allChannelsGroup = new ChannelGroup( channelType == ChannelType.Television ? ChannelGroup.AllTvChannelsGroupId : ChannelGroup.AllRadioChannelsGroupId, (int)channelType, "All Channels", true, 0, 0); if (this.ShowAllChannelsOnTop) { channelGroups.Insert(0, allChannelsGroup); } else { channelGroups.Add(allChannelsGroup); } _channelGroups[channelType] = channelGroups; } } catch (Exception ex) { MessageBox.Show(this, ex.Message, null, MessageBoxButtons.OK, MessageBoxIcon.Error); } } _channelGroupsComboBox.DataSource = _channelGroups[channelType]; _channelGroupsComboBox.DisplayMember = ChannelGroup.FieldName.GroupName; _channelGroupsComboBox.ValueMember = ChannelGroup.FieldName.ChannelGroupId; }
private void LoadGroups() { ChannelType channelType = this.ChannelType; if (!_channelGroups.ContainsKey(channelType)) { try { using (SchedulerServiceAgent tvSchedulerAgent = new SchedulerServiceAgent()) { List <ChannelGroup> channelGroups = new List <ChannelGroup>(tvSchedulerAgent.GetAllChannelGroups(channelType, true)); ChannelGroup allChannelsGroup = new ChannelGroup() { ChannelGroupId = channelType == ChannelType.Television ? ChannelGroup.AllTvChannelsGroupId : ChannelGroup.AllRadioChannelsGroupId, ChannelType = channelType, GroupName = "All Channels", VisibleInGuide = true }; if (this.ShowAllChannelsOnTop) { channelGroups.Insert(0, allChannelsGroup); } else { channelGroups.Add(allChannelsGroup); } _channelGroups[channelType] = channelGroups; } } catch (Exception ex) { MessageBox.Show(this, ex.Message, null, MessageBoxButtons.OK, MessageBoxIcon.Error); } } _channelGroupsComboBox.DataSource = _channelGroups[channelType]; _channelGroupsComboBox.DisplayMember = "GroupName"; _channelGroupsComboBox.ValueMember = "ChannelGroupId"; }