/// <summary> /// Update the object as and when selected action is changed on UI /// </summary> /// <param name="id">Id of the node updated</param> /// <param name="newAction">New selected action</param> /// <param name="oldAction">Old selected action</param> public void ChangeOccurred(int id, string newAction, string oldAction) { if (_directAccessList.ContainsKey(id)) { AngularComposite currentNode = _directAccessList[id]; // if set parent to skip/create/delete, MAY need to set all children to skip/create/delete too (only the read only cells) switch (newAction) { case "Skip": currentNode.dotNetComparison.MergeAction = MergeAction.Skip; currentNode.ngComparison.MergeAction = MergeAction.Skip.ToString(); CheckToSkipChildren(currentNode.ngComparison); break; case "Create": currentNode.dotNetComparison.MergeAction = MergeAction.Create; currentNode.ngComparison.MergeAction = MergeAction.Create.ToString(); CheckToCreateChildren(currentNode.ngComparison); break; case "Delete": currentNode.dotNetComparison.MergeAction = MergeAction.Delete; currentNode.ngComparison.MergeAction = MergeAction.Delete.ToString(); CheckToDeleteChildren(currentNode.ngComparison); break; case "Update": currentNode.dotNetComparison.MergeAction = MergeAction.Update; currentNode.ngComparison.MergeAction = MergeAction.Update.ToString(); break; default: break; } // Disable update menu on comparison change _instanceMainForm.HandleComparisonChanged(); // Refresh the tree control, since grid is maintained here _instanceMainForm.refreshGridControl(true); } }