Example #1
0
        private void OnMainFormClosing(Object sender
                                       , FormClosingEventArgs e)
        {
            Timer.Stop();

            if (m_ChangeNotificationObject != null)
            {
                TransactionObject transactionObject = m_RemoteAccessClient.ServiceProxy.BeginTransaction();

                m_RemoteAccessClient.ServiceProxy.UnregisterForProfileChanges(transactionObject, m_ChangeNotificationObject, true);

                m_ChangeNotificationObject = null;
            }

            if (m_RemoteAccessClient != null)
            {
                m_RemoteAccessClient.Disconnect();
                m_RemoteAccessClient.Dispose();
                m_RemoteAccessClient = null;
            }
        }
Example #2
0
        private void OnGetAllIdsButtonClick(Object sender
                                            , EventArgs e)
        {
            if (m_RemoteAccessClient == null)
            {
                m_RemoteAccessClient = ScsServiceClientBuilder.CreateClient <IDVDProfilerRemoteAccess>(new ScsTcpEndPoint(IPAddressTextBox.Text, 10083));

                m_RemoteAccessClient.Connect();
            }

            ProfileIdListView.Items.Clear();

            TransactionObject transactionObject = m_RemoteAccessClient.ServiceProxy.BeginTransaction();

            if (m_ChangeNotificationObject == null)
            {
                AccessResult <ChangeNotificationObject> result = m_RemoteAccessClient.ServiceProxy.RegisterForProfileChanges(transactionObject, false);

                m_ChangeNotificationObject = result.Result;

                Timer.Interval = 5000;
                Timer.Tick    += new EventHandler(OnTimer1Tick);
            }

            Timer.Stop();

            try
            {
                AccessResult <List <String> > result = m_RemoteAccessClient.ServiceProxy.GetAllProfileIds(transactionObject, false);

                if (result.Success)
                {
                    if (result.Result != null)
                    {
                        foreach (String profileId in result.Result)
                        {
                            ListViewItem item = new ListViewItem();

                            GetTitle(transactionObject, profileId, item);

                            ProfileIdListView.Items.Add(item);
                        }
                    }

                    m_RemoteAccessClient.ServiceProxy.CommitTransaction(transactionObject);
                }
                else
                {
                    m_RemoteAccessClient.ServiceProxy.AbortTransaction(transactionObject);

                    MessageBox.Show("An error occured", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }

                Timer.Start();
            }
            catch (Exception ex)
            {
                try
                {
                    m_RemoteAccessClient.ServiceProxy.AbortTransaction(transactionObject);
                }
                catch { }

                MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }