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); }
/// <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; }
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); } }
/********** 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); } }
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); } }
/// <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>(); }
public ComparisonObject( ComparisonObjectType comparisonObjectType, ComparisonObjectStatus status, TabularObject sourceObject, TabularObject targetObject, MergeAction mergeAction) : base(comparisonObjectType, status, mergeAction) { _sourceObject = sourceObject; _targetObject = targetObject; }
/// <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(); } }
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); } } }
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; }
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); } } } }
/// <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); }
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(); } }