void OnBeforeConnectionRemove(object sender, ConnectionBeforeRemoveEventArgs e)
        {
            foreach (var name in _taskMgr.GetTaskNames())
            {
                var task = _taskMgr.GetTask(name);
                if (typeof(FdoBulkCopy).IsAssignableFrom(task.GetType()))
                {
                    var bcp   = (FdoBulkCopy)task;
                    var names = new List <string>(bcp.Options.ConnectionNames);
                    if (names.Contains(e.ConnectionName))
                    {
                        MessageService.ShowMessage("Cannot remove connection as the task (" + name + ") depends on this connection");
                        e.Cancel = true;
                        return;
                    }
                }
                else if (typeof(FdoJoin).IsAssignableFrom(task.GetType()))
                {
                    var join = (FdoJoin)task;
                    var conn = _connMgr.GetConnection(e.ConnectionName);

                    var opts = join.Options;
                    if (opts.Left.Connection == conn ||
                        opts.Right.Connection == conn ||
                        opts.Target.Connection == conn)
                    {
                        MessageService.ShowMessage("Cannot remove connection as the task (" + name + ") depends on this connection");
                        e.Cancel = true;
                        return;
                    }
                }
            }
        }
示例#2
0
 protected override void OnBeforeConnectionRemove(object sender, ConnectionBeforeRemoveEventArgs e)
 {
     if (ConnectionAdded(e.ConnectionName))
     {
         //TODO: Prompt to remove the referenced connection and any copy tasks that use
         //this connection
         MessageService.ShowMessage("This bulk copy task depends on the current connection");
         e.Cancel = true;
     }
 }
示例#3
0
 protected override void OnBeforeConnectionRemove(object sender, ConnectionBeforeRemoveEventArgs e)
 {
     if (this.SelectedLeftConnection.Equals(e.ConnectionName) ||
         this.SelectedRightConnection.Equals(e.ConnectionName) ||
         this.SelectedTargetConnection.Equals(e.ConnectionName))
     {
         MessageService.ShowMessage("Cannot remove connection " + e.ConnectionName + " as this join task depends on it");
         e.Cancel = true;
     }
 }
示例#4
0
 protected virtual void OnBeforeConnectionRemove(object sender, ConnectionBeforeRemoveEventArgs e)
 {
 }