ArcGIS Pro 3.7 API Reference Guide
ArcGIS.Core.Data Namespace / PartialPostOptions Class
Members Example

In This Topic
    PartialPostOptions Class
    In This Topic
    Represents a mechanism to partial post a Version.
    Syntax
    Public NotInheritable Class PartialPostOptions 
    public sealed class PartialPostOptions 
    Example
    Partial Posting
    {
      // Must be called within QueuedTask.Run
      void PartialPostingSnippet(Version designVersion, FeatureClass supportStructureFeatureClass, List<long> deletedSupportStructureObjectIDs)
      {
        // 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
            ReconcileOptions reconcileOptions = new ReconcileOptions(); // Reconcile against Default
            reconcileOptions.ConflictDetectionType = ConflictDetectionType.ByColumn;
            reconcileOptions.ConflictResolutionMethod = ConflictResolutionMethod.Continue;
            reconcileOptions.ConflictResolutionType = ConflictResolutionType.FavorEditVersion;
    
            /*
            PostOptions postOptions = new PostOptions(); 
            
            // PartialPostSelections - Deprecated since Pro SDK 3.7. Use PartialPostOptions instead. 
            postOptions.PartialPostSelections = new List<Selection>()
              {
                constructedSupportStructures, deletedSupportStructures
              };
            postOptions.ServiceSynchronizationType = ServiceSynchronizationType.Synchronous;
            */
    
            PartialPostOptions partialPostOptions = new PartialPostOptions(); // Partial post against the Default
            partialPostOptions.Selections = new List<Selection>()
            {
              constructedSupportStructures, deletedSupportStructures
            };
            partialPostOptions.ServiceSynchronizationType = ServiceSynchronizationType.Synchronous;
    
            ReconcileResult reconcileResult = designVersion.Reconcile(reconcileOptions, partialPostOptions);
    
            // Use the reconcileResult ...
          }
        }
      }
    }
    Inheritance Hierarchy

    System.Object
       ArcGIS.Core.Data.PartialPostOptions

    Requirements

    Target Platforms: Windows 11 Home, Pro, Enterprise (64 bit)

    ArcGIS Pro version: 3.7 or higher.
    See Also