private ComparisionResult Compare(ComparisionDataSet data) { var comparisionResult = new ComparisionResult(data.WorkItemType, data.Guid); if (CheckForDelete(data)) { comparisionResult.OperationType = OperationType.Delete; comparisionResult.Result = false; return(comparisionResult); } if (CheckForCreate(data)) { comparisionResult.OperationType = OperationType.CreateNew; comparisionResult.Result = false; return(comparisionResult); } if (CompareData(data.ActiveEntity, data.PreviousEntity)) { comparisionResult.OperationType = OperationType.UseExisting; comparisionResult.Result = true; return(comparisionResult); } return(new ComparisionResult { WorkItemType = data.WorkItemType, OperationType = OperationType.Update, Result = false, Guid = data.Guid }); }
private void Compare() { if (_activeEAscenarios != null) { try { foreach (var scenario in _activeEAscenarios) { var stepsResult = new List <ComparisionResult>(); WorkItemComparer comparer = new WorkItemComparer(); var scenarioData = new ComparisionDataSet( ComparerItemsFactory.MapToComparsionEntity(scenario), ComparerItemsFactory.MapToComparsionEntity( DbOperations.getEAscenario(scenario.PreviousVersionId)), WorkItemType.TestCase, scenario.Id); var scenarioResult = comparer.GetComparisionResult(scenarioData); var scenarioSteps = GetStepsForScenario(scenario); if (scenarioSteps != null) { foreach (var step in scenarioSteps) { var stepData = new ComparisionDataSet( ComparerItemsFactory.MapToComparsionEntity(step), ComparerItemsFactory.MapToComparsionEntity( DbOperations.GetStep(step.PreviousVersionId)), WorkItemType.TestStep, step.Id); var result = comparer.GetComparisionResult(stepData); stepsResult.Add(result); } } scenarioResult = AnalizeComparision(scenarioResult, stepsResult); WorkItemDataSet.TestComparisionResults.Add(scenarioResult); } } catch (Exception e) { MessageBox.Show( "W aplikacji wystąpił błąd!\n" + e, "Błąd!", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); throw; } } }
public bool CheckForCreate(ComparisionDataSet data) { return(data.ActiveEntity != null && data.PreviousEntity == null); }
private static bool CheckForDelete(ComparisionDataSet data) { return(data.ActiveEntity == null && data.PreviousEntity != null); }
public ComparisionResult GetComparisionResult(ComparisionDataSet data) { return(Compare(data)); }
public WorkItemComparer(ComparisionDataSet data) { DataSet = data; Result = Compare(DataSet); }