/// <summary> /// /// </summary> private void ExecuteAbortCommand() { MGDataTable mgDataTab = MGDataTable.Instance; int oldMgdID = MGDataTable.Instance.currMgdID; MGData mgd = null; var task = (Task)mgDataTab.GetTaskByID(TaskTag); // Pass transaction ownership if (_transOwner != null) { var newTransOwnerTask = (Task)mgDataTab.GetTaskByID(_transOwner); if (newTransOwnerTask != null) { newTransOwnerTask.setTransOwnerTask(); } } // On special occasions, the server may send abort commands on tasks which were not parsed yet if (task == null && ClientManager.Instance.EventsManager.ignoreUnknownAbort()) { return; } Debug.Assert(task != null); mgd = task.getMGData(); task.stop(); mgd.abort(); MGDataTable.Instance.currMgdID = mgd.GetId(); GUIManager.Instance.abort((MgForm)task.getForm()); MGDataTable.Instance.currMgdID = (mgd.GetId() != oldMgdID || mgd.getParentMGdata() == null ? oldMgdID : mgd.getParentMGdata().GetId()); if (!ClientManager.Instance.validReturnToCtrl()) { MgControl mgControl = GUIManager.getLastFocusedControl(); ClientManager.Instance.ReturnToCtrl = mgControl; if (mgControl != null)// Refresh the status bar. { ((MgForm)mgControl.getForm()).RefreshStatusBar(); } } }