Exemplo n.º 1
0
        //从数据库中读取图层设置
        public static object GetLayerConfigFromBlob(string sql, IWorkspace pConfigWks)
        {
            Exception err = null;

            Fan.Common.Gis.IGisTable pGISTable = new Fan.Common.Gis.SysGisTable(pConfigWks);

            //获取Layer
            byte[] LayerByte = pGISTable.GetFieldValue("Render", "LayerConfig", sql, out err) as byte[];

            //是否得到了序列化的blob,没得到,则返回NULL
            if (LayerByte == null)
            {
                return(null);
            }
            //从数据库中得到图层的类型
            string strLayerType = pGISTable.GetFieldValue("Render", "LayerType", sql, out err).ToString();

            ILayer pLayer = null;

            switch (strLayerType)
            {
            case "FDOGraphicsLayer":        //注记层
                pLayer = new FDOGraphicsLayerClass();
                break;

            case "DimensionLayer":          //标注层
                pLayer = new DimensionLayerClass();
                break;

            case "GdbRasterCatalogLayer":           //影像层(RC)
                pLayer = new GdbRasterCatalogLayerClass();
                break;

            case "RasterLayer":             //影像数据集(RD)
                pLayer = new RasterLayerClass();
                break;

            case "FeatureLayer":            //普通地物层
                pLayer = new FeatureLayerClass();
                break;

            default:
                pLayer = new FeatureLayerClass();
                break;
            }
            IMemoryBlobStreamVariant pMemoryBlobStreamVariant = new MemoryBlobStreamClass();

            pMemoryBlobStreamVariant.ImportFromVariant((object)LayerByte);
            IStream pStream = pMemoryBlobStreamVariant as IStream;

            if (pLayer != null)
            {
                IPersistStream pPersistStream = pLayer as IPersistStream;
                pPersistStream.Load(pStream);
                pLayer = pPersistStream as ILayer;
            }
            return(pLayer);
        }
Exemplo n.º 2
0
        //added by chulili 20110730初始化属性名称数据字典(英文名映射中文名)key:英文  value:中文
        public static void InitNameDic(IWorkspace pConfigWks, IDictionary <string, string> DicFieldname, string DicTableName)
        {
            Exception exError = null;

            if (DicFieldname == null)
            {
                DicFieldname = new Dictionary <string, string>();//changed by chulili 20110731
            }
            DicFieldname.Clear();
            Fan.Common.Gis.SysGisTable          sysTable   = new Fan.Common.Gis.SysGisTable(pConfigWks);
            List <Dictionary <string, object> > lstDicData = sysTable.GetRows(DicTableName, "", out exError);

            if (lstDicData == null)
            {
                return;
            }
            try
            {
                if (lstDicData.Count > 0)
                {
                    for (int i = 0; i < lstDicData.Count; i++)
                    {
                        string strName      = "";
                        string strAliasName = "";
                        if (lstDicData[i]["CODE"] != null)
                        {
                            strName = lstDicData[i]["CODE"].ToString();
                        }
                        if (lstDicData[i]["NAME"] != null)
                        {
                            strAliasName = lstDicData[i]["NAME"].ToString();
                        }
                        //将属性名及别名添加到字典中
                        if ((!strName.Equals("")) && (!strAliasName.Equals("")))
                        {
                            if (!DicFieldname.Keys.Contains(strName))
                            {
                                DicFieldname.Add(strName, strAliasName);
                            }
                        }
                    }
                }
            }
            catch
            { }
        }
Exemplo n.º 3
0
        private void btnOk_Click(object sender, EventArgs e)
        {
            if (m_pGisDb == null)
            {
                return;
            }

            Exception Err;

            if (this.txtOldSec.Text.Trim() == "" || this.txtNewSec.Text.Trim() == "" || this.txtNewSec2.Text == "")
            {
                Fan.Common.Error.ErrorHandle.ShowFrmErrorHandle("提示", "新旧密码都不能为空。");
                return;
            }
            if (this.txtNewSec2.Text.Trim() != this.txtNewSec.Text.Trim())
            {
                Fan.Common.Error.ErrorHandle.ShowFrmErrorHandle("提示", "两次输入的新密码不一致。");
                return;
            }

            //开始修改密码
            Fan.Common.Gis.SysGisTable vGisTb = new Fan.Common.Gis.SysGisTable(m_pGisDb);

            string strOldPass = vGisTb.GetFieldValue("USER_INFO", "UPWD", "USERID='" + m_intUserID.ToString() + "'", out Err).ToString();

            if (Fan.Common.Authorize.AuthorizeClass.ComputerSecurity(this.txtOldSec.Text.Trim()) != strOldPass)
            {
                Fan.Common.Error.ErrorHandle.ShowFrmErrorHandle("提示", "输入的旧密码不正确。");
                return;
            }

            Dictionary <string, object> dicvalue = new Dictionary <string, object>();

            dicvalue.Add("UPWD", Fan.Common.Authorize.AuthorizeClass.ComputerSecurity(this.txtNewSec.Text.Trim()));
            if (vGisTb.UpdateRow("USER_INFO", "USERID='" + m_intUserID.ToString() + "'", dicvalue, out Err))
            {
                Fan.Common.Error.ErrorHandle.ShowFrmErrorHandle("提示", "修改密码成功。");
                this.Close();
            }
            else
            {
                Fan.Common.Error.ErrorHandle.ShowFrmErrorHandle("提示", "系统不能正确的修改密码。");
                return;
            }
        }
Exemplo n.º 4
0
        /// <summary>
        /// 得到Renderer从数据库中
        /// </summary>
        /// <returns></returns>
        public static object GetRendererFromBlob(string sql, IWorkspace pConfigWks)
        {
            Exception err = null;

            Fan.Common.Gis.IGisTable pGISTable = new Fan.Common.Gis.SysGisTable(pConfigWks);

            //获取Renderer
            byte[] renderByte = pGISTable.GetFieldValue("Render", "Render", sql, out err) as byte[];

            //是否得到了序列化的blob,没得到,则返回NULL
            if (renderByte == null)
            {
                return(null);
            }

            IMemoryBlobStreamVariant pMemoryBlobStreamVariant = new MemoryBlobStreamClass();

            pMemoryBlobStreamVariant.ImportFromVariant((object)renderByte);
            IStream pStream = pMemoryBlobStreamVariant as IStream;

            //从数据库中得到符号的类型  shduan 20110721 增加RasterRenderer
            string strRenderType = pGISTable.GetFieldValue("Render", "RenderType", sql, out err).ToString();
            string strLyrType    = pGISTable.GetFieldValue("Render", "LayerType", sql, out err).ToString();

            if (strLyrType == "RasterLayer")
            {
                IRasterRenderer pRRenderer = null;
                switch (strRenderType)
                {
                case "RasterClassifyColorRampRenderer":
                    pRRenderer = new RasterClassifyColorRampRendererClass();
                    break;

                case "RasterUniqueValueRenderer":
                    pRRenderer = new RasterUniqueValueRendererClass();
                    break;

                case "RasterDiscreteColorRenderer":
                    pRRenderer = new RasterDiscreteColorRendererClass();
                    break;

                case "RasterRGBRenderer":
                    pRRenderer = new RasterRGBRendererClass();
                    break;

                case "RasterStretchColorRampRenderer":
                    pRRenderer = new RasterStretchColorRampRendererClass();
                    break;
                }
                IPersistStream pPersistStream = pRRenderer as IPersistStream;
                pPersistStream.Load(pStream);
                //pRRenderer = pPersistStream as IRasterRenderer;

                return(pRRenderer);
            }
            else
            {
                IFeatureRenderer pFRenderer = null;
                switch (strRenderType)
                {
                case "AnnoColor":
                    string sAnnoColor = Encoding.Default.GetString(renderByte);
                    return((object)sAnnoColor);

                case "SimpleRenderer":
                    pFRenderer = new SimpleRendererClass();
                    break;

                case "UniqueValueRenderer":
                    pFRenderer = new UniqueValueRendererClass();
                    break;

                case "ClassBreaksRenderer":
                    pFRenderer = new ClassBreaksRendererClass();
                    break;

                case "ProportionalSymbolRenderer":
                    pFRenderer = new ProportionalSymbolRendererClass();
                    break;

                case "ChartRenderer":
                    pFRenderer = new ChartRendererClass();
                    break;
                }
                IPersistStream pPersistStream = pFRenderer as IPersistStream;
                pPersistStream.Load(pStream);
                pFRenderer = pPersistStream as IFeatureRenderer;

                return(pFRenderer);
            }
        }