Exemple #1
0
        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;
                        }
                    }
                }
            }
        }
Exemple #2
0
 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);
         }
     }
 }
Exemple #3
0
        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;
            }
        }
Exemple #5
0
        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);
            }
        }
Exemple #6
0
        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();
            }
        }
Exemple #7
0
        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);
        }
Exemple #8
0
        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);
        }
Exemple #9
0
        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");
        }
Exemple #10
0
        /// <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);
            }
        }