private void detectVCContentConflict() { foreach (var conflictedActionPairs in TargetChangeGroupService.DetectContentConflict()) { List <MigrationAction> resultMigrationActions; MigrationConflict contentConflict; if (conflictedActionPairs.Value.Action == WellKnownChangeActionId.Edit && conflictedActionPairs.Key.Action == WellKnownChangeActionId.Edit) { contentConflict = VCContentConflictType.CreateConflict(conflictedActionPairs.Key, conflictedActionPairs.Value); } else { contentConflict = VCNameSpaceContentConflictType.CreateConflict(conflictedActionPairs.Key); } var resolutionRslt = ConflictManager.TryResolveNewConflict(TargetSystemId, contentConflict, out resultMigrationActions); if (!resolutionRslt.Resolved) { int contentConflictId = contentConflict.InternalId; MigrationConflict chainOnConflictConflict = new MigrationConflict( new ChainOnConflictConflictType(), MigrationConflict.Status.Unresolved, ChainOnConflictConflictType.CreateConflictDetails(contentConflictId), ChainOnConflictConflictType.CreateScopeHint(contentConflictId)); chainOnConflictConflict.ConflictedChangeAction = conflictedActionPairs.Value; ConflictManager.BacklogUnresolvedConflict(TargetSystemId, chainOnConflictConflict, false); } } }
public static MigrationConflict CreateConflict( MigrationAction conflictAction) { if (conflictAction == null) { throw new ArgumentNullException("conflictAction"); } VCNameSpaceContentConflictType conflictInstance = new VCNameSpaceContentConflictType(); return(new VCNameSpaceContentConflict(conflictInstance, conflictAction)); }