Пример #1
0
        private void ShowSubscription(object s, CommandItemEventArgs e)
        {
            var connection = e.Context.Application.Connection;

            if (vaultCom.connection == null)
            {
                vaultCom.InitializeFromConnection(application.Connection);
            }
            string vaultName = connection.Vault, vaultUri = connection.Server;

            SynchronizationTree tree = new SynchronizationTree(vaultName, vaultUri);

            try
            {
                tree = SynchronizationTree.ReadTree(vaultName, vaultUri);

                if (tree.IsEmpty())
                {
                    var result = MessageBox.Show("No subscriptions found for this vault. Try harder?", "Try harder?", MessageBoxButtons.YesNo);
                    if (result == DialogResult.Yes)
                    {
                        tree = SynchronizationTree.ReadTree(vaultName, vaultUri, tryHarder: true);
                    }
                }
            }
            catch (Exception ex)
            {
                var result = MessageBox.Show("[ERROR] " + ex.Message + "\r\nDo you want to continue?", "Error", MessageBoxButtons.OKCancel);
                if (result == DialogResult.Cancel)
                {
                    return;
                }
            }

            ShowSubscriptionsForm form = new ShowSubscriptionsForm(tree, StartSyncThread, vaultCom);

            form.ShowDialog();
        }
Пример #2
0
        private void SubscribeOrUnsubscribe(IEnumerable <ISelection> selectionSet, bool subscribe)
        {
            try
            {
                if (vaultCom.connection == null)
                {
                    vaultCom.InitializeFromConnection(application.Connection);
                }

                var selSet = selectionSet.ToArray();
                var paths  = GetPathsFromSelections(vaultCom, selSet);

                var connection           = application.Connection;
                SynchronizationTree tree = SynchronizationTree.ReadTree(connection.Vault, connection.Server);
                foreach (var path in paths)
                {
                    if (subscribe)
                    {
                        tree.Include(path);
                    }
                    else
                    {
                        tree.Exclude(path);
                    }
                }

                bool didWrite = tree.WriteTree();
                if (!didWrite)
                {
                    var readOnly = new ReadOnlyForm();
                    readOnly.Show();
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("[ERROR] " + ex.Message, "Error");
            }
        }
 public VaultEagleSynchronizer(Connection connection)
     : this(connection, SynchronizationTree.ReadTree(connection.Vault, connection.Server))
 {
 }