Пример #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);
        }
Пример #2
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;
        }