ArcGIS Pro 3.2 API Reference Guide
ArcGIS.Core.Data Namespace / ConflictResolutionType Enumeration
Example Example

In This Topic
    ConflictResolutionType Enumeration
    In This Topic
    Specifies how conflicts are resolved.
    Syntax
    public enum ConflictResolutionType : System.Enum, System.IComparable, System.IConvertible, System.IFormattable  
    Public Enum ConflictResolutionType 
       Inherits System.Enum
       Implements System.IComparable, System.IConvertible, System.IFormattable 
    Members
    MemberDescription
    FavorEditVersion When a conflict is found, it is resolved in favor of the edit version.
    FavorTargetVersion When a conflict is found, it is resolved in favor of the target version. This option is not supported with branch versioning.
    Example
    Get and Set Versioning Options
    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;
    
    Reconciling and Posting a Version with its Parent in separate edit sessions
    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
          ReconcileOptions 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
            PostOptions postOptions = new PostOptions(parentVersion);
            //var postOptions = new PostOptions(); for default version
            postOptions.ServiceSynchronizationType = ServiceSynchronizationType.Synchronous;//Default
            currentVersion.Post(postOptions);
          }
    
        }
      }
    }
    Reconciling and Posting a Version with its Parent in the same edit session
    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
          ReconcileOptions reconcileOptions = new ReconcileOptions(parentVersion);
          reconcileOptions.ConflictResolutionMethod = ConflictResolutionMethod.Continue; // continue if conflicts are found
          reconcileOptions.ConflictDetectionType = ConflictDetectionType.ByRow; //Default
          reconcileOptions.ConflictResolutionType = ConflictResolutionType.FavorTargetVersion;//or FavorEditVersion
    
          PostOptions 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
    
          }
    
        }
      }
    }
    Inheritance Hierarchy

    System.Object
       System.ValueType
          System.Enum
             ArcGIS.Core.Data.ConflictResolutionType

    Requirements

    Target Platforms: Windows 11, Windows 10

    ArcGIS Pro version: 3 or higher.
    See Also