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; } } } }
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; } }
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; } }
protected virtual void OnBeforeConnectionRemove(object sender, ConnectionBeforeRemoveEventArgs e) { }