Exemplo n.º 1
0
        public override void OnClick()
        {
            try
            {
                System.Xml.XmlDocument pXmlDoc = new XmlDocument();
                pXmlDoc.Load(System.Windows.Forms.Application.StartupPath + "\\..\\Template\\SymbolInfo.xml");
                if (pXmlDoc == null)
                {
                    return;
                }

                //上传到符号库中去
                Exception Err;
                bool      result = false;
                Fan.Common.Gis.SysGisDB vGisdb = new Fan.Common.Gis.SysGisDB();
                result = vGisdb.SetWorkspace(SdeConfig.Server, SdeConfig.Instance, SdeConfig.Database, SdeConfig.User, SdeConfig.Password, SdeConfig.Version, out Err);
                if (!result)
                {
                    return;
                }

                IWorkspace pWks = vGisdb.WorkSpace;
                if (pWks == null)
                {
                    return;
                }

                ESRI.ArcGIS.esriSystem.IMemoryBlobStream pBlobStream = new ESRI.ArcGIS.esriSystem.MemoryBlobStreamClass();
                byte[] bytes = Encoding.Default.GetBytes(pXmlDoc.OuterXml);
                pBlobStream.ImportFromMemory(ref bytes[0], (uint)bytes.GetLength(0));

                IFeatureWorkspace pFeaWks      = pWks as IFeatureWorkspace;
                ITable            pTable       = pFeaWks.OpenTable("SYMBOLINFO");
                IQueryFilter      pQueryFilter = new ESRI.ArcGIS.Geodatabase.QueryFilterClass();
                pQueryFilter.WhereClause = "SYMBOLNAME='ALLSYMBOL'";

                ICursor pCursor = pTable.Search(pQueryFilter, false);
                IRow    pRow    = pCursor.NextRow();
                if (pRow == null)
                {
                    pRow = pTable.CreateRow();
                }

                pRow.set_Value(pRow.Fields.FindField("SYMBOLNAME"), "ALLSYMBOL");
                pRow.set_Value(pRow.Fields.FindField("SYMBOL"), pBlobStream);
                pRow.set_Value(pRow.Fields.FindField("UPDATETIME"), System.DateTime.Now);

                pRow.Store();

                System.Runtime.InteropServices.Marshal.ReleaseComObject(pCursor);

                Fan.Common.Error.ErrorHandle.ShowFrmErrorHandle("提示", "符号信息上传服务器成功!");
            }
            catch (Exception ex)
            {
                Fan.Common.Error.ErrorHandle.ShowFrmErrorHandle("提示", "符号信息上传服务器出现错误!" + ex.Message);
            }
        }
Exemplo n.º 2
0
        public override void OnClick()
        {
            try
            {
                Plugin.Application.IAppFormRef pAppForm = _AppHk as Plugin.Application.IAppFormRef;
                if (pAppForm == null)
                {
                    return;
                }

                System.Xml.XmlDocument pXmlDoc = ModData.v_DataViewXml;
                if (pXmlDoc == null)
                {
                    return;
                }

                //上传到符号库中去
                IWorkspace pWks = pAppForm.TempWksInfo.Wks;
                if (pWks == null)
                {
                    return;
                }

                ESRI.ArcGIS.esriSystem.IMemoryBlobStream pBlobStream = new ESRI.ArcGIS.esriSystem.MemoryBlobStreamClass();
                byte[] bytes = Encoding.Default.GetBytes(pXmlDoc.OuterXml);
                pBlobStream.ImportFromMemory(ref bytes[0], (uint)bytes.GetLength(0));

                IFeatureWorkspace pFeaWks      = pWks as IFeatureWorkspace;
                ITable            pTable       = pFeaWks.OpenTable("SysSetting");
                IQueryFilter      pQueryFilter = new ESRI.ArcGIS.Geodatabase.QueryFilterClass();
                pQueryFilter.WhereClause = "SettingName='DataViewXml'";

                ICursor pCursor = pTable.Search(pQueryFilter, false);
                IRow    pRow    = pCursor.NextRow();
                if (pRow == null)
                {
                    pRow = pTable.CreateRow();
                }

                pRow.set_Value(pRow.Fields.FindField("SettingName"), "DataViewXml");
                pRow.set_Value(pRow.Fields.FindField("SysSettingValue2"), pBlobStream);

                pRow.Store();

                System.Runtime.InteropServices.Marshal.ReleaseComObject(pCursor);

                SysCommon.Error.ErrorHandle.ShowInform("提示", "图库信息设置成功!");
            }
            catch (Exception ex)
            {
                SysCommon.Error.ErrorHandle.ShowInform("提示", "图库信息设置出现错误!" + ex.Message);
            }
        }