public List<Selection> PartialPostSelections {get; set;}
Public Property PartialPostSelections As List(Of Selection)
public List<Selection> PartialPostSelections {get; set;}
Public Property PartialPostSelections As List(Of Selection)
// Partial posting allows developers to post a subset of changes made in a version. // One sample use case is an electric utility that uses a version to design the facilities in // a new housing subdivision. At some point in the process, one block of new houses have been // completed, while the rest of the subdivision remains unbuilt. Partial posting allows the user // to post the completed work, while leaving not yet constructed features in the version to be // posted later. Partial posting requires a branch-versioned feature service using ArcGIS // Enterprise 10.9 and higher // Specify a set of features that were constructed QueryFilter constructedFilter = new QueryFilter() { WhereClause = "ConstructedStatus = 'True'" }; // This selection represents the inserts and updates to the support // structure feature class that we wish to post using (Selection constructedSupportStructures = supportStructureFeatureClass.Select(constructedFilter, SelectionType.ObjectID, SelectionOption.Normal)) { // Specifying which feature deletions you wish to post is slightly trickier, since you cannot issue // a query to fetch a set of deleted features Instead, a list of ObjectIDs must be used using (Selection deletedSupportStructures = supportStructureFeatureClass.Select( null, SelectionType.ObjectID, SelectionOption.Empty)) { deletedSupportStructures.Add(deletedSupportStructureObjectIDs); //deletedSupportStructureObjectIDs is //defined as List<long> //Perform the reconcile with partial post //At 2.x - //ReconcileDescription reconcileDescription = new ReconcileDescription(); //reconcileDescription.ConflictDetectionType = ConflictDetectionType.ByColumn; //reconcileDescription.ConflictResolutionMethod = ConflictResolutionMethod.Continue; //reconcileDescription.ConflictResolutionType = ConflictResolutionType.FavorEditVersion; //reconcileDescription.PartialPostSelections = new List<Selection>() { constructedSupportStructures, deletedSupportStructures }; //reconcileDescription.WithPost = true; //ReconcileResult reconcileResult = designVersion.Reconcile(reconcileDescription); ReconcileOptions reconcileOptions = new ReconcileOptions();//reconcile against Default reconcileOptions.ConflictDetectionType = ConflictDetectionType.ByColumn; reconcileOptions.ConflictResolutionMethod = ConflictResolutionMethod.Continue; reconcileOptions.ConflictResolutionType = ConflictResolutionType.FavorEditVersion; PostOptions postOptions = new PostOptions();//post against Default postOptions.PartialPostSelections = new List<Selection>() { constructedSupportStructures, deletedSupportStructures }; postOptions.ServiceSynchronizationType = ServiceSynchronizationType.Synchronous; ReconcileResult reconcileResult = designVersion.Reconcile(reconcileOptions, postOptions); //TODO process result(s) } }
Target Platforms: Windows 11, Windows 10