public enum ConflictDetectionType : System.Enum, System.IComparable, System.IConvertible, System.IFormattable
Public Enum ConflictDetectionType Inherits System.Enum Implements System.IComparable, System.IConvertible, System.IFormattable
public enum ConflictDetectionType : System.Enum, System.IComparable, System.IConvertible, System.IFormattable
Public Enum ConflictDetectionType Inherits System.Enum Implements System.IComparable, System.IConvertible, System.IFormattable
Member | Description |
---|---|
ByColumn | Conflicts are only detected if the same attribute is updated in the source and target versions. |
ByRow | Conflicts are detected if the same row is edited in the source and target versions. |
var vOptions = ApplicationOptions.VersioningOptions;
vOptions.DefineConflicts = (vOptions.DefineConflicts == ConflictDetectionType.ByRow) ?
ConflictDetectionType.ByColumn : ConflictDetectionType.ByRow;
vOptions.ConflictResolution = (
vOptions.ConflictResolution == ConflictResolutionType.FavorEditVersion) ?
ConflictResolutionType.FavorTargetVersion : ConflictResolutionType.FavorEditVersion;
vOptions.ShowConflictsDialog = !vOptions.ShowConflictsDialog;
vOptions.ShowReconcileDialog = !vOptions.ShowReconcileDialog;
public void ReconcileAndPost(Geodatabase geodatabase) { // Get a reference to our version and our parent if (geodatabase.IsVersioningSupported()) { using (VersionManager versionManager = geodatabase.GetVersionManager()) using (Version currentVersion = versionManager.GetCurrentVersion()) using (Version parentVersion = currentVersion.GetParent()) { //// Create a ReconcileDescription object //At 2.x - //ReconcileDescription reconcileDescription = new ReconcileDescription(parentVersion); //reconcileDescription.ConflictResolutionMethod = ConflictResolutionMethod.Continue; // continue if conflicts are found //reconcileDescription.WithPost = true; //// Reconcile and post //ReconcileResult reconcileResult = currentVersion.Reconcile(reconcileDescription); // ReconcileResult.HasConflicts can be checked as-needed // Create a ReconcileOptions object var reconcileOptions = new ReconcileOptions(parentVersion); reconcileOptions.ConflictResolutionMethod = ConflictResolutionMethod.Continue; // continue if conflicts are found reconcileOptions.ConflictDetectionType = ConflictDetectionType.ByRow; //Default reconcileOptions.ConflictResolutionType = ConflictResolutionType.FavorTargetVersion;//or FavorEditVersion // Reconcile ReconcileResult reconcileResult = currentVersion.Reconcile(reconcileOptions); if (!reconcileResult.HasConflicts) { //No conflicts, perform the post var postOptions = new PostOptions(parentVersion); //var postOptions = new PostOptions(); for default version postOptions.ServiceSynchronizationType = ServiceSynchronizationType.Synchronous;//Default currentVersion.Post(postOptions); } } } }
public void ReconcileAndPost2(Geodatabase geodatabase) { // Get a reference to our version and our parent if (geodatabase.IsVersioningSupported()) { using (VersionManager versionManager = geodatabase.GetVersionManager()) using (Version currentVersion = versionManager.GetCurrentVersion()) using (Version parentVersion = currentVersion.GetParent()) { //// Create a ReconcileDescription object //At 2.x - //ReconcileDescription reconcileDescription = new ReconcileDescription(parentVersion); //reconcileDescription.ConflictResolutionMethod = ConflictResolutionMethod.Continue; // continue if conflicts are found //reconcileDescription.WithPost = true; //// Reconcile and post //ReconcileResult reconcileResult = currentVersion.Reconcile(reconcileDescription); // ReconcileResult.HasConflicts can be checked as-needed // Create a ReconcileOptions object var reconcileOptions = new ReconcileOptions(parentVersion); reconcileOptions.ConflictResolutionMethod = ConflictResolutionMethod.Continue; // continue if conflicts are found reconcileOptions.ConflictDetectionType = ConflictDetectionType.ByRow; //Default reconcileOptions.ConflictResolutionType = ConflictResolutionType.FavorTargetVersion;//or FavorEditVersion var postOptions = new PostOptions(parentVersion); //var postOptions = new PostOptions(); for default version postOptions.ServiceSynchronizationType = ServiceSynchronizationType.Synchronous;//Default // Reconcile ReconcileResult reconcileResult = currentVersion.Reconcile(reconcileOptions, postOptions); if (reconcileResult.HasConflicts) { //TODO resolve conflicts } } } }
System.Object
System.ValueType
System.Enum
ArcGIS.Core.Data.ConflictDetectionType
Target Platforms: Windows 11, Windows 10, Windows 8.1