コード例 #1
0
        private ComparisonObjectStatus FindComparisonObjectStatus(string status)
        {
            ComparisonObjectStatus returnStatus = ComparisonObjectStatus.Na;

            switch (status)
            {
            case "Different Definitions":
                returnStatus = ComparisonObjectStatus.DifferentDefinitions;
                break;

            case "Missing in Source":
                returnStatus = ComparisonObjectStatus.MissingInSource;
                break;

            case "Missing in Target":
                returnStatus = ComparisonObjectStatus.MissingInTarget;
                break;

            case "NA":
                returnStatus = ComparisonObjectStatus.Na;
                break;

            case "Same Definition":
                returnStatus = ComparisonObjectStatus.SameDefinition;
                break;
            }
            return(returnStatus);
        }
コード例 #2
0
ファイル: SkipSelection.cs プロジェクト: sk1020/tfs
 /// <summary>
 /// Initializes a new instance of the SkipSelection class using a ComparisonInfo object.
 /// </summary>
 /// <param name="comparisonInfo">ComparisonInfo object typically deserialized from a BSMN file.</param>
 public SkipSelection(Core.ComparisonObject comparisonObject)
 {
     _comparisonObjectType     = comparisonObject.ComparisonObjectType;
     _comparisonObjectStatus   = comparisonObject.Status;
     _sourceObjectInternalName = comparisonObject.SourceObjectInternalName;
     _targetObjectInternalName = comparisonObject.TargetObjectInternalName;
 }
コード例 #3
0
        private void SkipItemsPrivate(bool selectedOnly, ComparisonObjectStatus comparisonObjectStatus, Int32 selectedRowCount)
        {
            for (int i = 0; i < selectedRowCount; i++)
            {
                DataGridViewRow row = (selectedOnly ? this.SelectedRows[i] : this.Rows[i]);

                SkipItemPrivate(comparisonObjectStatus, row);
            }
        }
コード例 #4
0
        /********** Set node to skip depending on comparison object status ****************/
        /// <summary>
        /// Sets Action property of objects to Skip within given range.
        /// </summary>
        /// <param name="selectedOnly"></param>
        /// <param name="comparisonStatus"></param>
        public void SkipItems(bool selectedOnly, ComparisonObjectStatus comparisonObjectStatus = ComparisonObjectStatus.Na) //Na because won't take null cos it's an enum
        {
            List <ComparisonNode> listToUse = (selectedOnly ? selectedNodes : comparisonList);

            foreach (ComparisonNode node in listToUse)
            {
                // In case of selected only, check if item is present in selected objects
                SkipItemPrivate(comparisonObjectStatus, node);
            }
        }
コード例 #5
0
 private void InvokeObjectDefinitionsCallBack()
 {
     // Populate object definition textboxes
     if (this.Rows.GetRowCount(DataGridViewElementStates.Selected) > 0 && this.SelectedRows[0].Cells[10].Value != null)
     {
         ComparisonObjectType   selectedObjType = FindComparisonObjectType(this.SelectedRows[0].Cells[0].Value.ToString());
         ComparisonObjectStatus selectedStatus  = FindComparisonObjectStatus(this.SelectedRows[0].Cells[4].Value.ToString());
         _objectDefinitionsCallBack.Invoke(this.SelectedRows[0].Cells[10].Value.ToString(), this.SelectedRows[0].Cells[11].Value.ToString(), selectedObjType, selectedStatus);
     }
 }
コード例 #6
0
 /// <summary>
 /// Initializes a new instance of the ComparisonObject class using multiple parameters.
 /// </summary>
 /// <param name="comparisonObjectType">Type of ComaprisonObject such as Table, Measure, Relationship, etc.</param>
 /// <param name="status">Status of ComaprisonObject such as Same Definition, Different Definitions and Missing In Target.</param>
 /// <param name="mergeAction">Action of ComaprisonObject such as Create, Update, Delete and Skip.</param>
 public ComparisonObject(
     ComparisonObjectType comparisonObjectType,
     ComparisonObjectStatus status,
     MergeAction mergeAction)
 {
     _comparisonObjectType = (comparisonObjectType == ComparisonObjectType.Connection ? ComparisonObjectType.DataSource : comparisonObjectType); //Need to support connection for backwards compatibility when deserializing from xml
     _status                 = status;
     _mergeAction            = mergeAction;
     _childComparisonObjects = new List <ComparisonObject>();
 }
コード例 #7
0
 public ComparisonObject(
     ComparisonObjectType comparisonObjectType,
     ComparisonObjectStatus status,
     TabularObject sourceObject,
     TabularObject targetObject,
     MergeAction mergeAction) : base(comparisonObjectType, status, mergeAction)
 {
     _sourceObject = sourceObject;
     _targetObject = targetObject;
 }
コード例 #8
0
        /// <summary>
        /// Sets Action property of objects to Skip within given range.
        /// </summary>
        /// <param name="selectedOnly"></param>
        /// <param name="comparisonStatus"></param>
        public void SkipItems(bool selectedOnly, ComparisonObjectStatus comparisonObjectStatus = ComparisonObjectStatus.Na) //Na because won't take null cos it's an enum
        {
            Int32 selectedRowCount = (selectedOnly ? this.Rows.GetRowCount(DataGridViewElementStates.Selected) : this.Rows.Count);

            if (selectedRowCount > 0)
            {
                // fudge to ensure child objects Missing in Source are skipped (this is because we have to iterate DataGridViewRow object which isn't hierarchical)
                SkipItemsPrivate(selectedOnly, comparisonObjectStatus, selectedRowCount);
                SkipItemsPrivate(selectedOnly, comparisonObjectStatus, selectedRowCount);
                SkipItemsPrivate(selectedOnly, comparisonObjectStatus, selectedRowCount);

                _cellEditCallBack.Invoke();
            }
        }
コード例 #9
0
 private void SkipItemPrivate(ComparisonObjectStatus comparisonObjectStatus, DataGridViewRow row)
 {
     if (comparisonObjectStatus == ComparisonObjectStatus.Na ||
         (comparisonObjectStatus == ComparisonObjectStatus.DifferentDefinitions && row.Cells[4].Value.ToString() == "Different Definitions") ||
         (comparisonObjectStatus == ComparisonObjectStatus.MissingInSource && row.Cells[4].Value.ToString() == "Missing in Source") ||
         (comparisonObjectStatus == ComparisonObjectStatus.MissingInTarget && row.Cells[4].Value.ToString() == "Missing in Target"))
     {
         if (!row.Cells[8].ReadOnly &&
             row.Cells[8].Value.ToString() != "Skip " &&
             row.Cells[8].Value.ToString() != "Set Parent Node")
         {
             row.Cells[8].Value = "Skip";
             row.Cells[7].Value = this.ImageList.Images[8];  //8: Skip
             CheckToSkipChildren(row);
         }
     }
 }
コード例 #10
0
ファイル: ComparisonObject.cs プロジェクト: sk1020/tfs
 public ComparisonObject(
     ComparisonObjectType comparisonObjectType,
     ComparisonObjectStatus status,
     ITabularObject sourceObject,
     string sourceObjectName,
     string sourceObjectId,
     string sourceObjectDefinition,
     MergeAction mergeAction,
     ITabularObject targetObject,
     string targetObjectName,
     string targetObjectId,
     string targetObjectDefinition) : base(comparisonObjectType, status, mergeAction)
 {
     _sourceObject           = sourceObject;
     _sourceObjectName       = sourceObjectName;
     _sourceObjectId         = sourceObjectId;
     _sourceObjectDefinition = sourceObjectDefinition;
     _targetObject           = targetObject;
     _targetObjectName       = targetObjectName;
     _targetObjectId         = targetObjectId;
     _targetObjectDefinition = targetObjectDefinition;
 }
コード例 #11
0
 private void SkipItemPrivate(ComparisonObjectStatus comparisonObjectStatus, ComparisonNode row)
 {
     if (comparisonObjectStatus == ComparisonObjectStatus.Na ||
         (comparisonObjectStatus == ComparisonObjectStatus.DifferentDefinitions && row.Status == "Different Definitions") ||
         (comparisonObjectStatus == ComparisonObjectStatus.MissingInSource && row.Status == "Missing in Source") ||
         (comparisonObjectStatus == ComparisonObjectStatus.MissingInTarget && row.Status == "Missing in Target"))
     {
         bool isReadOnly = row.DropdownDisabled;
         if (!isReadOnly &&
             row.MergeAction != MergeAction.Skip.ToString()
             //&&
             //row.Cells[8].Value.ToString() != "Set Parent Node" -- Need to check where is this value set
             )
         {
             row.MergeAction = MergeAction.Skip.ToString();
             if (_directAccessList.ContainsKey(row.Id))
             {
                 AngularComposite node = _directAccessList[row.Id];
                 node.dotNetComparison.MergeAction = MergeAction.Skip;
                 CheckToSkipChildren(row);
             }
         }
     }
 }
コード例 #12
0
 /// <summary>
 /// Sets Action property of objects to Skip within given range.
 /// </summary>
 /// <param name="selectedOnly"></param>
 /// <param name="comparisonStatus"></param>
 public void SkipItems(bool selectedOnly, ComparisonObjectStatus comparisonObjectStatus = ComparisonObjectStatus.Na) //Na because won't take null cos it's an enum
 {
     treeGridComparisonResults.SkipItems(selectedOnly, comparisonObjectStatus);
 }
コード例 #13
0
        private void PopulateObjectDefinitions(string objDefSource, string objDefTarget, ComparisonObjectType objType, ComparisonObjectStatus objStatus)
        {
            try
            {
                IterateJson(txtSourceObjectDefinition, objDefSource);
                IterateJson(txtTargetObjectDefinition, objDefTarget);
            }
            catch (Exception)
            {
                txtSourceObjectDefinition.Text = "";
                txtSourceObjectDefinition.Text = objDefSource;
                txtTargetObjectDefinition.Text = "";
                txtTargetObjectDefinition.Text = objDefTarget;
            }
            #region Difference Highlighting

            if (objStatus == ComparisonObjectStatus.DifferentDefinitions ||
                (objStatus == ComparisonObjectStatus.SameDefinition && objType == ComparisonObjectType.Perspective && _comparisonInfo.OptionsInfo.OptionMergePerspectives) ||
                (objStatus == ComparisonObjectStatus.SameDefinition && objType == ComparisonObjectType.Culture && _comparisonInfo.OptionsInfo.OptionMergeCultures)
                )
            {
                _diffs = _diff.diff_main(objDefSource, objDefTarget);
                _diff.diff_cleanupSemantic(_diffs);
                //_diff.diff_cleanupSemanticLossless(_diffs);
                //_diff.diff_cleanupEfficiency(_diffs);

                // NG: Evaluate if this needs to be added
                //Are we merging perspectives/cultures?
                if ((objType == ComparisonObjectType.Perspective && _comparisonInfo.OptionsInfo.OptionMergePerspectives) ||
                    (objType == ComparisonObjectType.Culture && _comparisonInfo.OptionsInfo.OptionMergeCultures)
                    )
                {
                    _chunklistSource = CollectChunks(source: true, backColors: _backColorsMerge);
                    _chunklistTarget = CollectChunks(source: false, backColors: _backColorsMerge);

                    //If same definition with merge perspectives/cultures option, just want to highlight differences in target that will not be applied, so do not paint chunks for source
                    if (objStatus == ComparisonObjectStatus.DifferentDefinitions)
                    {
                        PaintChunks(txtSourceObjectDefinition, _chunklistSource);
                    }
                    PaintChunks(txtTargetObjectDefinition, _chunklistTarget);
                }
                else
                {
                    _chunklistSource = CollectChunks(source: true, backColors: _backColors);
                    _chunklistTarget = CollectChunks(source: false, backColors: _backColors);

                    PaintChunks(txtSourceObjectDefinition, _chunklistSource);
                    PaintChunks(txtTargetObjectDefinition, _chunklistTarget);
                }
            }

            #endregion

            //select 1st characters so not scrolled at bottom
            if (txtSourceObjectDefinition.Text != "")
            {
                txtSourceObjectDefinition.SelectionStart  = 0;
                txtSourceObjectDefinition.SelectionLength = 0;
                txtSourceObjectDefinition.ScrollToCaret();
            }
            if (txtTargetObjectDefinition.Text != "")
            {
                txtTargetObjectDefinition.SelectionStart  = 0;
                txtTargetObjectDefinition.SelectionLength = 0;
                txtTargetObjectDefinition.ScrollToCaret();
            }
        }