Public NotInheritable Class PartialPostOptions
public sealed class PartialPostOptions
Public NotInheritable Class PartialPostOptions
public sealed class PartialPostOptions
{
// 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 ...
}
}
}
}
System.Object
ArcGIS.Core.Data.PartialPostOptions
Target Platforms: Windows 11 Home, Pro, Enterprise (64 bit)