Exemplo n.º 1
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);
                    }
                }
            }
        }
Exemplo n.º 2
0
        /// <summary>
        ///     Exports the version differences to the specified export file.
        /// </summary>
        /// <param name="source">The source.</param>
        /// <param name="target">The target.</param>
        /// <param name="exportFileName">Name of the export file.</param>
        /// <param name="exportOption">The export option.</param>
        /// <param name="overwrite">if set to <c>true</c> when the delta file should be overwritten when it exists.</param>
        public static void ExportDataChanges(this IVersion source, IVersion target, string exportFileName, esriExportDataChangesOption exportOption, bool overwrite)
        {
            IVersionDataChangesInit vdci         = new VersionDataChangesClass();
            IWorkspaceName          wsNameSource = (IWorkspaceName)((IDataset)source).FullName;
            IWorkspaceName          wsNameTarget = (IWorkspaceName)((IDataset)target).FullName;

            vdci.Init(wsNameSource, wsNameTarget);

            IExportDataChanges2 edc = new DataChangesExporterClass();

            edc.ExportDataChanges(exportFileName, exportOption, (IDataChanges)vdci, overwrite);
        }
Exemplo n.º 3
0
        /// <summary>
        ///     Exports or imports the version edits as XML files.
        /// </summary>
        /// <param name="args">The arguments.</param>
        internal void Run(ProgramArguments args)
        {
            using (EsriRuntimeAuthorization lic = new EsriRuntimeAuthorization(ProductCode.EngineOrDesktop))
            {
                if (lic.Initialize(esriLicenseProductCode.esriLicenseProductCodeStandard))
                {
                    var workspace          = WorkspaceFactories.Open(Path.GetFullPath(args.ConnectionFile));
                    var versionedWorkspace = (IVersionedWorkspace)workspace;

                    switch (args.Task)
                    {
                    case ProgramTask.Import:

                        var version       = versionedWorkspace.DefaultVersion.CreateVersion(args.VersionName);
                        var workspaceName = (IWorkspaceName)((IDataset)version).FullName;

                        string changesFileName = Path.GetFullPath(args.Path);

                        IDeltaDataChangesInit2 ddci = new DeltaDataChangesClass();
                        ddci.Init2(changesFileName, esriExportDataChangesOption.esriExportToXML, false);

                        IImportDataChanges idc = new DataChangesImporterClass();
                        idc.ImportDataChanges(workspaceName, (IDeltaDataChanges)ddci, true, true);

                        break;

                    case ProgramTask.Export:

                        var source = versionedWorkspace.FindVersion(args.VersionName);
                        var target = source.GetParent();

                        IWorkspaceName wsNameSource = (IWorkspaceName)((IDataset)source).FullName;
                        IWorkspaceName wsNameTarget = (IWorkspaceName)((IDataset)target).FullName;

                        var exportFileName = Path.Combine(Path.GetFullPath(args.Path), args.VersionName + ".xml");

                        IVersionDataChangesInit vdci = new VersionDataChangesClass();
                        vdci.Init(wsNameSource, wsNameTarget);

                        IExportDataChanges2 edc = new DataChangesExporterClass();
                        edc.ExportDataChanges(exportFileName, esriExportDataChangesOption.esriExportToXML, (IDataChanges)vdci, true);
                        break;
                    }
                }
            }
        }