示例#1
0
        /// <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);
            }
        }