Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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);
            }
        }
Exemplo n.º 3
0
        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);
            }
        }
Exemplo n.º 5
0
 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;
 }
Exemplo n.º 6
0
 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;
 }
Exemplo n.º 7
0
        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;
 }
Exemplo n.º 9
0
        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";
        }