public void Post( PostOptions postOptions )
Public Sub Post( _ ByVal postOptions As PostOptions _ )
Parameters
- postOptions
- If PostOptions.TargetVersion is not specified in postOptions, then the target version is the Default version.
public void Post( PostOptions postOptions )
Public Sub Post( _ ByVal postOptions As PostOptions _ )
Exception | Description |
---|---|
System.ArgumentNullException | postOptions is null. |
System.NotSupportedException | This operation is not supported in client-server mode because the data store supports multi-branch versioning. |
System.InvalidOperationException | A Selection object specified in PartialPostSelections is not from a feature service feature class. -or- Post cannot be performed in an active edit session. |
ArcGIS.Core.Data.Exceptions.GeodatabaseException | A geodatabase-related exception has occurred. |
ArcGIS.Core.CalledOnWrongThreadException | This method or property must be called within the lambda passed to QueuedTask.Run |
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); } } } }
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 } } } }
Target Platforms: Windows 11, Windows 10