Return Value
true if this geodatabase supports versioning and was not returned from HistoricalVersion.Connect. false otherwise.
Exception | Description |
---|---|
System.InvalidOperationException | No valid geodatabase has been opened prior to invoking this operation. |
public Geodatabase ConnectToVersion(Geodatabase geodatabase, string versionName) { Geodatabase connectedVersion = null; if (geodatabase.IsVersioningSupported()) { using (VersionManager versionManager = geodatabase.GetVersionManager()) using (Version version = versionManager.GetVersion(versionName)) { connectedVersion = version.Connect(); } } return connectedVersion; }
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