Esempio n. 1
0
        private bool CloseSession()
        {
            IChangeDatabaseVersion pCV;
            ISet pVSet;
            IVersion pVersion;
            IVersion pNewVersion;
            IWorkspace pWKS;
            IVersionInfo pVInfo;
            IApplication pApp;
            IMxDocument pMXDoc;
            IMMLoginUtils pMMLogin;

            try
            {
                SW1.Reset();
                SW1.Start();
                pMMLogin = new MMLoginUtils();
                pWKS = pMMLogin.LoginWorkspace;
                Type t = Type.GetTypeFromProgID("esriFramework.AppRef");
                System.Object obj = Activator.CreateInstance(t);
                pApp = obj as IApplication;
                pMXDoc = (IMxDocument)pApp.Document;
                pVersion = (IVersion)pWKS;
                pVInfo = pVersion.VersionInfo;
                pNewVersion = (IVersion)pVInfo.Parent;
                pCV = new ChangeDatabaseVersion();
                pVSet = pCV.Execute(pVersion, pNewVersion, (IBasicMap)pMXDoc.FocusMap);
                SW1.Stop();
                RecordActionTime("CloseSession:", SW1.ElapsedMilliseconds);
                return true;
            }
            catch (Exception EX)
            {
                this.Logger.WriteLine("CloseSession Error" + EX.Message + " " + EX.StackTrace);
                return false;
            }
        }
Esempio n. 2
0
        private bool CreateVersion(string sName, string sAddGUID)
        {
            IVersion pVersion;
            IVersion pNewVersion;
            IChangeDatabaseVersion pCV;
            ISet pVSet;
            IApplication pApp;
            IMxDocument pMXDoc;
            System.Guid VGuid;

            try
            {
                SW1.Reset();
                SW1.Start();

                Type t = Type.GetTypeFromProgID("esriFramework.AppRef");
                System.Object obj = Activator.CreateInstance(t);
                pApp = obj as IApplication;
                pMXDoc = (IMxDocument)pApp.Document;

                VGuid = System.Guid.NewGuid();
                pVersion = (IVersion)Workspace;
                if (sAddGUID.ToUpper() == "TRUE")
                {
                    pNewVersion = pVersion.CreateVersion(sName + "_" + VGuid.ToString());
                }
                else
                {
                    pNewVersion = pVersion.CreateVersion(sName);
                }
                pCV = new ChangeDatabaseVersion();
                pVSet = pCV.Execute(pVersion, pNewVersion, (IBasicMap)pMXDoc.FocusMap);
                Workspace = (IWorkspace)pNewVersion;
                ScriptEngine.BroadcastProperty("Workspace", Workspace, this);

                SW1.Stop();

                RecordActionTime("CREATEVERSION:",SW1.ElapsedMilliseconds);

                return true;
            }
            catch (Exception EX)
            {
                this.Logger.WriteLine("CreateVersion error:" + EX.Message);
                return false;
            }
        }
Esempio n. 3
0
        private bool ChangeVersion(string sName)
        {
            IVersion pVersion;
            IVersion pNewVersion;
            IVersionedWorkspace pVWKS;
            IChangeDatabaseVersion pCV;
            ISet pVSet;
            IApplication pApp;
            IMxDocument pMXDoc;
            IWorkspace pWKS;

            try
            {
                SW1.Reset();
                SW1.Start();

                Type t = Type.GetTypeFromProgID("esriFramework.AppRef");
                System.Object obj = Activator.CreateInstance(t);
                pApp = obj as IApplication;
                pMXDoc = (IMxDocument)pApp.Document;

                pWKS = Workspace;
                pVWKS = (IVersionedWorkspace)Workspace;
                pVersion = (IVersion)pWKS;
                pNewVersion = pVWKS.FindVersion(sName);
                pCV = new ChangeDatabaseVersion();
                pVSet = pCV.Execute(pVersion, pNewVersion, (IBasicMap)pMXDoc.FocusMap);
                Workspace = (IWorkspace)pNewVersion;
                //SwizzleDatasets(pApp, (IFeatureWorkspace)pVersion, (IFeatureWorkspace)pNewVersion);
                ScriptEngine.BroadcastProperty("Workspace", Workspace, this);

                SW1.Stop();
                RecordActionTime("CHANGEVERSION" , SW1.ElapsedMilliseconds);
                return true;
            }
            catch (Exception EX)
            {
                this.Logger.WriteLine("ChangeVersion error:" + EX.Message + " " + EX.StackTrace);
                return false;
            }
        }