private void btnSelectGDB_Click(object sender, EventArgs e) { frmOpenFile file = new frmOpenFile(); file.AddFilter(new MyGxFilterWorkspaces(), true); if (file.ShowDialog() == DialogResult.OK) { IGxDatabase database = file.Items.get_Element(0) as IGxDatabase; if (database != null) { this.txtGDB.Text = (database as IGxObject).FullName; if (!database.IsConnected) { database.Connect(); } IWorkspaceReplicas workspace = database.Workspace as IWorkspaceReplicas; if (workspace != null) { IEnumReplica replicas = workspace.Replicas; replicas.Reset(); IReplica replica2 = replicas.Next(); if (replica2 != null) { this.lblCheckOutName.Text = replica2.Name; this.txtGDB.Tag = database.WorkspaceName; } else { this.txtGDB.Tag = null; } } } } }
public void Init() { if (CheckInHelper.m_pHelper.MasterWorkspaceName != null) { this.panel_by_MasterGDB.Visible = true; this.panelbycheckoutdb.Visible = false; this.lblCheckInGDB.Text = this.method_0(CheckInHelper.m_pHelper.MasterWorkspaceName); this.radioGroup1_SelectedIndexChanged(this, new EventArgs()); } else { this.panel_by_MasterGDB.Visible = false; this.panelbycheckoutdb.Visible = true; IWorkspace workspace = (CheckInHelper.m_pHelper.CheckoutWorkspaceName as IName).Open() as IWorkspace; IWorkspaceReplicas replicas = workspace as IWorkspaceReplicas; IEnumReplica replica = replicas.Replicas; replica.Reset(); IReplica replica2 = replica.Next(); if (replica2 != null) { this.lblCheckOutName1.Text = replica2.Name; this.lblMasterGDB2.Text = this.method_0(replica2.ConnectionInfo); this.lblMasterGDB2.Tag = replica2.ConnectionInfo; this.lblCheckInGDB2.Text = this.method_0(CheckInHelper.m_pHelper.CheckoutWorkspaceName); } } }
private void method_11() { esriExportDataChangesOption esriExportToAccess = esriExportDataChangesOption.esriExportToAccess; if (Path.GetExtension(this.string_0).ToLower() == ".xml") { esriExportToAccess = esriExportDataChangesOption.esriExportToXML; } IExportDataChanges changes = new DataChangesExporterClass(); IName name = this.iworkspaceName_0 as IName; IWorkspace workspace = name.Open() as IWorkspace; IWorkspaceReplicas replicas = workspace as IWorkspaceReplicas; IEnumReplica replica = replicas.Replicas; replica.Reset(); if (replica != null) { for (IReplica replica2 = replica.Next(); replica2 != null; replica2 = replica.Next()) { if (replica2.ReplicaRole == esriReplicaType.esriCheckOutTypeChild) { IReplicaDataChangesInit init = new CheckOutDataChangesClass(); init.Init(replica2, this.iworkspaceName_0); IDataChanges dataChanges = init as IDataChanges; changes.ExportDataChanges(this.string_0, esriExportToAccess, dataChanges, true); } } } }
private void ExportChangeSetupCtrl_Load(object sender, EventArgs e) { this.lblCheckOutGDB.Text = this.method_0(ExportChangesHelper.m_pHelper.CheckoutWorkspaceName); IWorkspace workspace = (ExportChangesHelper.m_pHelper.CheckoutWorkspaceName as IName).Open() as IWorkspace; IWorkspaceReplicas replicas = workspace as IWorkspaceReplicas; IEnumReplica replica = replicas.Replicas; replica.Reset(); IReplica replica2 = replica.Next(); if (replica2 != null) { this.lblCheckOutName.Text = replica2.Name; } }
public static void SimpleCheckIn(IWorkspaceName iworkspaceName_0, IWorkspaceName iworkspaceName_1, IEnumName ienumName_0, bool bool_0, bool bool_1, string string_0) { IName name = iworkspaceName_1 as IName; IWorkspace workspace = name.Open() as IWorkspace; IWorkspaceReplicas workspaceReplicas = workspace as IWorkspaceReplicas; IReplica replica = workspaceReplicas.Replicas.Next(); IWorkspace arg_36_0 = (iworkspaceName_0 as IName).Open() as IWorkspace; ICheckIn checkIn = new CheckIn(); if (bool_1) { checkIn.CheckInFromGDB(iworkspaceName_0, replica.Name, iworkspaceName_1, false, false); } }
private void frmCheckOutManager_Load(object sender, EventArgs e) { if (this.iarray_0.Count == 1) { CheckInOutWorkspaceInfo info = this.iarray_0.get_Element(0) as CheckInOutWorkspaceInfo; this.iworkspace_0 = info.Workspace; } else { if (this.iarray_0.Count <= 0) { return; } frmSelectWorkspace workspace = new frmSelectWorkspace { WorkspaceArray = this.iarray_0 }; if (workspace.ShowDialog() != DialogResult.OK) { base.Close(); return; } this.iworkspace_0 = workspace.Workspace; } IWorkspaceReplicas replicas = this.iworkspace_0 as IWorkspaceReplicas; IEnumReplica replica = replicas.Replicas; replica.Reset(); IReplica replica2 = replica.Next(); string[] items = new string[4]; while (replica2 != null) { items[0] = replica2.Name; items[1] = replica2.Owner; items[2] = replica2.Version; items[3] = new DateTime((long)replica2.ReplicaDate).ToString(); ListViewItem item = new ListViewItem(items) { Tag = replica2 }; this.listView1.Items.Add(item); replica2 = replica.Next(); } }
private bool method_0(string string_0, IWorkspaceReplicas iworkspaceReplicas_0) { ISQLSyntax syntax = iworkspaceReplicas_0 as ISQLSyntax; IEnumReplica replicas = iworkspaceReplicas_0.Replicas; replicas.Reset(); for (IReplica replica2 = replicas.Next(); replica2 != null; replica2 = replicas.Next()) { if (replica2.ReplicaRole == esriReplicaType.esriCheckOutTypeParent) { string str = syntax.QualifyTableName("", replica2.Owner, replica2.Version); if (string_0.ToLower() == str.ToLower()) { return(true); } } } return(false); }
private void method_11() { ICheckIn @in = new CheckInClass(); ESRI.ArcGIS.GeoDatabaseDistributed.IFeatureProgress_Event event2 = @in as ESRI.ArcGIS.GeoDatabaseDistributed.IFeatureProgress_Event; base.InitEvent(event2); if (this.bool_0) { IName name = this.iworkspaceName_0 as IName; IWorkspace workspace = name.Open() as IWorkspace; IWorkspaceReplicas replicas = workspace as IWorkspaceReplicas; IReplica replica = replicas.Replicas.Next(); try { @in.CheckInFromGDB(base.m_MasterWorkspaceName, replica.Name, this.iworkspaceName_0, this.bool_1, false); } catch { } } else { esriExportDataChangesOption esriExportToAccess = esriExportDataChangesOption.esriExportToAccess; if (Path.GetExtension(this.string_0).ToLower() == ".xml") { esriExportToAccess = esriExportDataChangesOption.esriExportToXML; } try { @in.CheckInFromDeltaFile(base.m_MasterWorkspaceName, this.string_1, this.string_0, esriExportToAccess, this.bool_1, false); } catch { } } base.ReleaseEvent(event2); }
protected override void OnClick() { string workspaceName = "C:\\Temp\\[email protected]"; Type factoryType = Type.GetTypeFromProgID("esriDataSourcesGDB.SdeWorkspaceFactory"); IWorkspaceFactory workspaceFactory = ((IWorkspaceFactory)(Activator.CreateInstance(factoryType))); IWorkspace workspace = workspaceFactory.OpenFromFile(workspaceName, 0); IWorkspaceReplicas workspaceReplicas = (IWorkspaceReplicas)workspace; IReplica replica = null; int counter = 0; workspaceReplicas.Replicas.Reset(); replica = workspaceReplicas.Replicas.Next(); List <string> listOfReplicas = new List <string>(); while (replica != null) { listOfReplicas.Add(replica.Name); System.Diagnostics.Debug.WriteLine("Replica no. " + counter + " : " + listOfReplicas[counter]); replica = workspaceReplicas.Replicas.Next(); counter++; } System.Diagnostics.Debug.WriteLine("There are no more replicas associated with this workspace"); }
/// <summary> /// Occurs in the master geodatabase after data changes in either a replica /// geodatabase or delta database are transferred to the master geodatabase. /// </summary> /// <param name="targetReplica">The target replica.</param> /// <param name="dataChangesSource">A collection of changes made to the master geodatabase.</param> /// <param name="oidMappingTable">Not used in this implementation.</param> /// <param name="changesTable">Not used in this implemented.</param> public void AfterSynchronizingDataChanges(IReplica targetReplica, object dataChangesSource, ITable oidMappingTable, ITable changesTable) { // Make sure that the correct replica is being synchronized. String replicaName = targetReplica.Name; String unqualifiedReplicaName = replicaName.Substring(replicaName.LastIndexOf('.') + 1); if (!unqualifiedReplicaName.Equals(rasterReplicaName)) { return; } // Get the rasters to pull if connected synchronization is occurring. IDataChanges3 dataChanges3 = dataChangesSource as IDataChanges3; if (dataChanges3 != null) { // Get the source's replicas. IName sourceWorkspaceName = (IName)dataChanges3.ParentWorkspaceName; IWorkspace sourceWorkspace = (IWorkspace)sourceWorkspaceName.Open(); IWorkspaceReplicas sourceWorkspaceReplicas = (IWorkspaceReplicas)sourceWorkspace; // Get the replica generation numbers. int genBegin = 0; int genEnd = 0; int targetGen = 0; dataChanges3.GenerationNumbers(out genBegin, out genEnd, out targetGen); IQueryFilter queryFilter = new QueryFilterClass(); queryFilter.WhereClause = String.Format("{0} > {1} or {0} is NULL", genFieldName, genBegin); // Open a cursor to get the rasters to copy form the source. IRasterWorkspaceEx sourceRasterWorkspaceEx = (IRasterWorkspaceEx)sourceWorkspace; IRasterCatalog sourceRasterCatalog = sourceRasterWorkspaceEx.OpenRasterCatalog(rasterCatalogName); IFeatureClass sourceFeatureClass = (IFeatureClass)sourceRasterCatalog; int sourceGenFieldIndex = sourceFeatureClass.FindField(genFieldName); IFeatureCursor sourceCursor = sourceFeatureClass.Search(queryFilter, true); // Open the target raster catalog. IRasterWorkspaceEx targetRasterWorkspaceEx = (IRasterWorkspaceEx)workspaceHelper.Workspace; IRasterCatalog targetRasterCatalog = targetRasterWorkspaceEx.OpenRasterCatalog(rasterCatalogName); IFeatureClass targetFeatureClass = (IFeatureClass)targetRasterCatalog; int targetGenFieldIndex = targetFeatureClass.FindField(genFieldName); IFeatureCursor targetCursor = targetFeatureClass.Insert(true); // Copy the rasters from the source to the target. IFeature sourceFeature = null; while ((sourceFeature = sourceCursor.NextFeature()) != null) { // Copy the raster and set the target gen to -1 (received). IFeatureBuffer featureBuffer = targetFeatureClass.CreateFeatureBuffer(); featureBuffer.set_Value(targetRasterCatalog.RasterFieldIndex, sourceFeature.get_Value(sourceRasterCatalog.RasterFieldIndex)); featureBuffer.set_Value(targetGenFieldIndex, -1); targetCursor.InsertFeature(featureBuffer); // Set the source row value to the current generation. if (sourceFeature.get_Value(sourceGenFieldIndex) == DBNull.Value) { sourceFeature.set_Value(sourceGenFieldIndex, genEnd); } sourceFeature.Store(); } Marshal.FinalReleaseComObject(sourceCursor); Marshal.FinalReleaseComObject(targetCursor); } }