Exemple #1
0
        private void gridView1_CellValueChanging(object sender, DevExpress.XtraGrid.Views.Base.CellValueChangedEventArgs e)
        {
            if (string.IsNullOrEmpty((gridView1.GetFocusedRow() as ErrornoInfo).Gid) && (gridView1.FocusedRowHandle + 1 == gridView1.RowCount))
            {
                btnAdd_Click(null, null);
            }

            tmperrornoInfo = gridView1.GetRow(e.RowHandle) as ErrornoInfo;
        }
Exemple #2
0
        /// <summary>
        /// 绑定数据
        /// </summary>
        private void BindData()
        {
            XmlNodeList        xmlNodeLst      = xmlhelper.Read("datatype");
            List <ErrornoInfo> errornoInfoList = new List <ErrornoInfo>();

            foreach (XmlNode xn1 in xmlNodeLst)
            {
                ErrornoInfo errornoInfo = new ErrornoInfo();
                // 将节点转换为元素,便于得到节点的属性值
                XmlElement xe = (XmlElement)xn1;
                // 得到Type和ISBN两个属性的属性值
                errornoInfo.Gid = xe.GetAttribute("gid").ToString();

                // 得到ErrornoInfo节点的所有子节点
                XmlNodeList xnl0 = xe.ChildNodes;
                errornoInfo.Name        = xnl0.Item(0).InnerText;
                errornoInfo.ChineseName = xnl0.Item(1).InnerText;
                errornoInfo.LogLevel    = Convert.ToInt16(xnl0.Item(2).InnerText);
                errornoInfo.Remark      = xnl0.Item(3).InnerText;
                errornoInfo.lstInfo     = new Dictionary <string, DevExpress.XtraEditors.DXErrorProvider.ErrorInfo>();

                errornoInfoList.Add(errornoInfo);
            }

            // 添加一行空行
            errornoInfoList.Add(new ErrornoInfo());
            gridControl1.DataSource = errornoInfoList;

            #region 绑定错误级别 数据源
            // 1 - LOG_LEVEL_EMERG
            // 2 - LOG_LEVEL_ALERT
            // 3 - LOG_LEVEL_CRIT
            // 4 - LOG_LEVEL_ERR
            // 5 - LOG_LEVEL_WARN
            // 6 - LOG_LEVEL_NOTICE
            // 7 - LOG_LEVEL_INFO
            // 8 - LOG_LEVEL_DEBUG
            // 9 - LOG_LEVEL_SQL
            List <CListItem> errTypeInfoList = new List <CListItem>();
            errTypeInfoList.Add(new CListItem("1", "LOG_LEVEL_EMERG"));
            errTypeInfoList.Add(new CListItem("2", "LOG_LEVEL_ALERT"));
            errTypeInfoList.Add(new CListItem("3", "LOG_LEVEL_CRIT"));
            errTypeInfoList.Add(new CListItem("4", "LOG_LEVEL_ERR"));
            errTypeInfoList.Add(new CListItem("5", "LOG_LEVEL_WARN"));
            errTypeInfoList.Add(new CListItem("6", "LOG_LEVEL_NOTICE"));
            errTypeInfoList.Add(new CListItem("7", "LOG_LEVEL_INFO"));
            errTypeInfoList.Add(new CListItem("8", "LOG_LEVEL_DEBUG"));
            errTypeInfoList.Add(new CListItem("9", "LOG_LEVEL_SQL"));

            repositoryItemLookUpEditStdType.DataSource = errTypeInfoList;
            #endregion

            gridView1.Columns["Gid"].Visible         = false;
            gridView1.Columns["lstInfo"].Visible     = false;
            gridView1.Columns["LogLevel"].ColumnEdit = repositoryItemLookUpEditStdType;
        }
        private Dictionary <String, ErrornoInfo> InitErrorInfo()
        {
            Dictionary <String, ErrornoInfo> dicErrInfo = Cache.Instance["DicErrInfo"] as Dictionary <String, ErrornoInfo>;

            if (dicErrInfo == null)
            {
                string filePath = System.AppDomain.CurrentDomain.BaseDirectory + "\\" + @"Data\error.xml";
                // 如果文件不存在,则返回空
                if (!FileUtil.FileIsExist(filePath))
                {
                    return(null);
                }

                // 读取Icon文件
                XmlHelper   xmlHelper = new XmlHelper(filePath);
                XmlNodeList nodeLst   = xmlHelper.Read("errors");

                dicErrInfo = new Dictionary <String, ErrornoInfo>();
                dicErrInfo.Clear();

                for (var i = 0; i < nodeLst.Count; i++)
                {
                    ErrornoInfo errornoInfo = new ErrornoInfo();
                    var         node        = nodeLst[i];
                    // <error id="E100001" name="ERR_TEST" chinesename="" loglevel="" remark="" />
                    if (node.Attributes["id"] != null)
                    {
                        errornoInfo.Gid = node.Attributes["id"].Value;
                    }
                    if (node.Attributes["name"] != null)
                    {
                        errornoInfo.Name = node.Attributes["name"].Value;
                    }
                    if (node.Attributes["chinesename"] != null)
                    {
                        errornoInfo.ChineseName = "[" + node.Attributes["chinesename"].Value + "]";
                    }
                    if (node.Attributes["loglevel"] != null)
                    {
                        errornoInfo.LogLevel = Convert.ToInt16(node.Attributes["loglevel"].Value);
                    }
                    if (node.Attributes["remark"] != null)
                    {
                        errornoInfo.Remark = node.Attributes["remark"].Value;
                    }

                    dicErrInfo.Add(errornoInfo.Name, errornoInfo);
                }
                Cache.Instance["DicErrInfo"] = dicErrInfo;
            }

            return(dicErrInfo);
        }
Exemple #4
0
        /// <summary>
        /// 下移
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnMoveDown_Click(object sender, EventArgs e)
        {
            if (gridView1.FocusedRowHandle == (gridView1.RowCount - 2))
            {
                return;
            }

            ErrornoInfo cuerrornoInfo   = gridView1.GetFocusedRow() as ErrornoInfo;
            ErrornoInfo nexterrornoInfo = gridView1.GetRow(gridView1.FocusedRowHandle + 1) as ErrornoInfo;

            // 深拷贝
            ErrornoInfo tmperrornoInfo = new ErrornoInfo();

            tmperrornoInfo.Gid         = cuerrornoInfo.Gid;
            tmperrornoInfo.Name        = cuerrornoInfo.Name;
            tmperrornoInfo.ChineseName = cuerrornoInfo.ChineseName;
            tmperrornoInfo.LogLevel    = cuerrornoInfo.LogLevel;
            tmperrornoInfo.Remark      = cuerrornoInfo.Remark;
            tmperrornoInfo.lstInfo     = cuerrornoInfo.lstInfo;

            // 更新内容
            cuerrornoInfo.Gid         = nexterrornoInfo.Gid;
            cuerrornoInfo.Name        = nexterrornoInfo.Name;
            cuerrornoInfo.ChineseName = nexterrornoInfo.ChineseName;
            cuerrornoInfo.LogLevel    = nexterrornoInfo.LogLevel;
            cuerrornoInfo.Remark      = nexterrornoInfo.Remark;
            cuerrornoInfo.lstInfo     = nexterrornoInfo.lstInfo;

            nexterrornoInfo.Gid         = tmperrornoInfo.Gid;
            nexterrornoInfo.Name        = tmperrornoInfo.Name;
            nexterrornoInfo.ChineseName = tmperrornoInfo.ChineseName;
            nexterrornoInfo.LogLevel    = tmperrornoInfo.LogLevel;
            nexterrornoInfo.Remark      = tmperrornoInfo.Remark;
            nexterrornoInfo.lstInfo     = tmperrornoInfo.lstInfo;

            // 更细XML内容
            string cuXMLStr  = xmlhelper.ReadInnerXML("datatype/item[@gid=\"" + cuerrornoInfo.Gid + "\"]");
            string preXMLStr = xmlhelper.ReadInnerXML("datatype/item[@gid=\"" + nexterrornoInfo.Gid + "\"]");

            xmlhelper.Replace("datatype/item[@gid=\"" + cuerrornoInfo.Gid + "\"]", preXMLStr);
            xmlhelper.Replace("datatype/item[@gid=\"" + nexterrornoInfo.Gid + "\"]", cuXMLStr);
            // 更新 Gid
            var cuattribute   = xmlhelper.Read("datatype/item[@gid=\"" + cuerrornoInfo.Gid + "\"]").Item(0).ParentNode.Attributes["gid"];
            var nextattribute = xmlhelper.Read("datatype/item[@gid=\"" + nexterrornoInfo.Gid + "\"]").Item(0).ParentNode.Attributes["gid"];

            cuattribute.Value   = nexterrornoInfo.Gid;
            nextattribute.Value = cuerrornoInfo.Gid;
            xmlhelper.Save(false);

            gridView1.RefreshData();
            gridView1.FocusedRowHandle = gridView1.FocusedRowHandle + 1;
        }
Exemple #5
0
        /// <summary>
        /// 插入
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnInsert_Click(object sender, EventArgs e)
        {
            XmlNodeList xmlNodeLst  = xmlhelper.Read("datatype/item[@gid=\"" + (gridView1.GetFocusedRow() as ErrornoInfo).Gid + "\"]");
            var         errornoInfo = new ErrornoInfo();

            errornoInfo.Gid     = System.Guid.NewGuid().ToString();
            errornoInfo.lstInfo = new Dictionary <string, DevExpress.XtraEditors.DXErrorProvider.ErrorInfo>();
            xmlhelper.InsertElement("item", "gid", errornoInfo.Gid, string.Format(xmlModel, string.Empty, string.Empty, string.Empty, string.Empty), xmlNodeLst.Item(0).ParentNode);
            xmlhelper.Save(false);

            (gridView1.DataSource as List <ErrornoInfo>).Insert(gridView1.FocusedRowHandle, errornoInfo);
            gridView1.RefreshData();
        }
Exemple #6
0
        /// <summary>
        /// 新增
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnAdd_Click(object sender, EventArgs e)
        {
            var errornoInfo = new ErrornoInfo();

            errornoInfo.GUID    = System.Guid.NewGuid().ToString();
            errornoInfo.lstInfo = new Dictionary <string, DevExpress.XtraEditors.DXErrorProvider.ErrorInfo>();

            xmlhelper.InsertElement("datatype", "item", "guid", errornoInfo.GUID, string.Format(xmlModel, string.Empty, string.Empty, string.Empty, string.Empty));
            xmlhelper.Save(false);

            (gridView1.DataSource as List <ErrornoInfo>).Insert(gridView1.RowCount - 1, errornoInfo);
            gridView1.RefreshData();
        }
Exemple #7
0
        /// <summary>
        /// 上移
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnMoveUp_Click(object sender, EventArgs e)
        {
            if (gridView1.FocusedRowHandle == 0)
            {
                return;
            }

            ErrornoInfo cuerrornoInfo  = gridView1.GetFocusedRow() as ErrornoInfo;
            ErrornoInfo preerrornoInfo = gridView1.GetRow(gridView1.FocusedRowHandle - 1) as ErrornoInfo;
            // 深拷贝
            ErrornoInfo tmperrornoInfo = new ErrornoInfo();

            tmperrornoInfo.GUID        = cuerrornoInfo.GUID;
            tmperrornoInfo.Name        = cuerrornoInfo.Name;
            tmperrornoInfo.ChineseName = cuerrornoInfo.ChineseName;
            tmperrornoInfo.LogLevel    = cuerrornoInfo.LogLevel;
            tmperrornoInfo.Remark      = cuerrornoInfo.Remark;
            tmperrornoInfo.lstInfo     = cuerrornoInfo.lstInfo;

            // 更新内容
            cuerrornoInfo.GUID        = preerrornoInfo.GUID;
            cuerrornoInfo.Name        = preerrornoInfo.Name;
            cuerrornoInfo.ChineseName = preerrornoInfo.ChineseName;
            cuerrornoInfo.LogLevel    = preerrornoInfo.LogLevel;
            cuerrornoInfo.Remark      = preerrornoInfo.Remark;
            cuerrornoInfo.lstInfo     = preerrornoInfo.lstInfo;

            preerrornoInfo.GUID        = tmperrornoInfo.GUID;
            preerrornoInfo.Name        = tmperrornoInfo.Name;
            preerrornoInfo.ChineseName = tmperrornoInfo.ChineseName;
            preerrornoInfo.LogLevel    = tmperrornoInfo.LogLevel;
            preerrornoInfo.Remark      = tmperrornoInfo.Remark;
            preerrornoInfo.lstInfo     = tmperrornoInfo.lstInfo;

            // 更细XML内容
            string cuXMLStr  = xmlhelper.ReadInnerXML("datatype/item[@guid=\"" + cuerrornoInfo.GUID + "\"]");
            string preXMLStr = xmlhelper.ReadInnerXML("datatype/item[@guid=\"" + preerrornoInfo.GUID + "\"]");

            xmlhelper.Replace("datatype/item[@guid=\"" + cuerrornoInfo.GUID + "\"]", preXMLStr);
            xmlhelper.Replace("datatype/item[@guid=\"" + preerrornoInfo.GUID + "\"]", cuXMLStr);
            // 更新GUID
            var cuattribute  = xmlhelper.Read("datatype/item[@guid=\"" + cuerrornoInfo.GUID + "\"]").Item(0).ParentNode.Attributes["guid"];
            var preattribute = xmlhelper.Read("datatype/item[@guid=\"" + preerrornoInfo.GUID + "\"]").Item(0).ParentNode.Attributes["guid"];

            cuattribute.Value  = preerrornoInfo.GUID;
            preattribute.Value = cuerrornoInfo.GUID;
            xmlhelper.Save(false);

            gridView1.RefreshData();
            gridView1.FocusedRowHandle = gridView1.FocusedRowHandle - 1;
        }
Exemple #8
0
        /// <summary>
        /// 导入
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnImport_Click(object sender, EventArgs e)
        {
            string importFile = FileDialogHelper.OpenExcel(false);

            if (!string.IsNullOrEmpty(importFile))
            {
                // 判断文件是否被占用
                if (FileUtil.FileIsUsing(importFile))
                {
                    MessageDxUtil.ShowWarning(string.Format("文件[{0}]被占用,请先关闭文件后再重试!", importFile));
                    return;
                }

                DataTable dt = MyXlsHelper.Import(importFile, "标准错误号", 2, 1);

                // 如果没有结果集就不在继续
                if (dt == null)
                {
                    return;
                }

                Int32 addRows = 0;
                for (Int32 i = 0; i < dt.Rows.Count; i++)
                {
                    // 判断是否存在不存在则添加
                    if (!lstName.Contains(dt.Rows[i][0].ToString()))
                    {
                        var errornoInfo = new ErrornoInfo();
                        errornoInfo.Gid         = System.Guid.NewGuid().ToString();
                        errornoInfo.Name        = dt.Rows[i][0].ToString();
                        errornoInfo.ChineseName = dt.Rows[i][1].ToString();
                        errornoInfo.LogLevel    = Convert.ToInt16(ErrInfoToInt(dt.Rows[i][2].ToString()));
                        errornoInfo.Remark      = dt.Rows[i][3].ToString();

                        xmlhelper.InsertElement("datatype", "item", "gid", errornoInfo.Gid, string.Format(xmlModel, dt.Rows[i][0].ToString(), dt.Rows[i][1].ToString(), dt.Rows[i][2].ToString(), dt.Rows[i][3].ToString()));

                        (gridView1.DataSource as List <ErrornoInfo>).Insert((gridView1.DataSource as List <ErrornoInfo>).Count - 1, errornoInfo);
                        addRows++;
                        lstName.Add(dt.Rows[i][0].ToString());
                    }
                }
                xmlhelper.Save(false);

                gridView1.RefreshData();
            }
        }
Exemple #9
0
        /// <summary>
        /// 新增
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnAdd_Click(object sender, EventArgs e)
        {
            // 假如在查询去掉查询在新增
            if (!string.IsNullOrEmpty(gridView1.ActiveFilterString))
            {
                gridView1.ActiveFilterString = "";
            }

            var errornoInfo = new ErrornoInfo();

            errornoInfo.Gid     = System.Guid.NewGuid().ToString();
            errornoInfo.lstInfo = new Dictionary <string, DevExpress.XtraEditors.DXErrorProvider.ErrorInfo>();

            xmlhelper.InsertElement("datatype", "item", "gid", errornoInfo.Gid, string.Format(xmlModel, string.Empty, string.Empty, string.Empty, string.Empty));
            xmlhelper.Save(false);

            (gridView1.DataSource as List <ErrornoInfo>).Insert((gridView1.DataSource as List <ErrornoInfo>).Count - 1, errornoInfo);
            gridView1.RefreshData();
        }
Exemple #10
0
        private void gridView1_CellValueChanged(object sender, DevExpress.XtraGrid.Views.Base.CellValueChangedEventArgs e)
        {
            // xmlhelper.Read("bookstore/book[@ISBN=\"7-111-19149-6\"]") Attributes 的属性
            // xmlhelper.Read("bookstore/book[title=\"计算机硬件技术基础\"]") 内部节点
            XmlNodeList xmlNodeLst = xmlhelper.Read("datatype/item[@gid=\"" + tmperrornoInfo.Gid + "\"]");
            Int32       idx        = -1;

            switch (e.Column.ToString())
            {
            case "错误号":
                idx = 0;
                break;

            case "错误提示信息":
                idx = 1;
                break;

            case "错误级别":
                idx = 2;
                break;

            case "说明":
                idx = 3;
                break;
            }

            if (idx == -1)
            {
                return;
            }

            xmlNodeLst.Item(idx).InnerText = e.Value.ToString();
            xmlhelper.Save(false);

            tmperrornoInfo = null;
        }
Exemple #11
0
        /// <summary>
        /// 复制错误信息到剪贴板
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void tsmirealoadcache_Click(object sender, EventArgs e)
        {
            StringBuilder sb = new StringBuilder();

            /*
             * result.ErrorCode = 000000;           // ErrorCode 表示登陆成功
             * result.LogLevel = 1;
             * result.ErrorMessage = "操作成功";
             * result.Data1 = "普通管理员";
             */
            if (gridView1.RowCount > 0 && gridView1.FocusedRowHandle >= 0)
            {
                ErrornoInfo errornoInfo = gridView1.GetFocusedRow() as ErrornoInfo;
                if (null != errornoInfo)
                {
                    sb.Append("// 系统自动生成错误信息\r\n");
                    sb.Append(string.Format("result.ErrorCode = {0};\r\n", errornoInfo.Name));
                    sb.Append(string.Format("result.LogLevel = {0};\r\n", errornoInfo.LogLevel));
                    sb.Append(string.Format("result.ErrorMessage = \"{0}[{1}]\";\r\n", errornoInfo.Remark, errornoInfo.ChineseName));
                }
            }

            Clipboard.SetDataObject(sb.ToString());
        }
Exemple #12
0
        /// <summary>
        /// 导出Xml数据
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnExportXml_Click(object sender, EventArgs e)
        {
            #region 根据项目属性获取数据类型
            XmlHelper   xmlprojectthelper = new XmlHelper(@"XML\project.xml");
            XmlNodeList xmlprejectNodeLst = xmlprojectthelper.Read("datatype");

            if (xmlprejectNodeLst.Count == 0)
            {
                return;
            }

            XmlNode xn1project = xmlprejectNodeLst[0];

            // 将节点转换为元素,便于得到节点的属性值
            XmlElement xeproject = (XmlElement)xn1project;

            // 得到DataTypeInfo节点的所有子节点
            XmlNodeList xnl0project = xeproject.ChildNodes;

            string generalPath = xnl0project.Item(9).InnerText;
            #endregion

            //创建XmlDocument对象
            XmlDocument    xmlDoc = new XmlDocument();
            XmlDeclaration xmlSM  = xmlDoc.CreateXmlDeclaration("1.0", "UTF-8", null);
            //追加xmldecl位置
            xmlDoc.AppendChild(xmlSM);
            //添加一个名为Gen的根节点
            XmlElement xml = xmlDoc.CreateElement("", "errors", "");
            //追加Gen的根节点位置
            xmlDoc.AppendChild(xml);
            //添加另一个节点,与Gen所匹配,查找<Gen>
            XmlNode gen = xmlDoc.SelectSingleNode("errors");

            XmlNodeList        xmlNodeLst      = xmlhelper.Read("datatype");
            List <ErrornoInfo> errornoInfoList = new List <ErrornoInfo>();
            Int32 IndexNum = 1;
            foreach (XmlNode xn1 in xmlNodeLst)
            {
                ErrornoInfo errornoInfo = new ErrornoInfo();
                // 将节点转换为元素,便于得到节点的属性值
                XmlElement xe = (XmlElement)xn1;
                // 得到Type和ISBN两个属性的属性值
                errornoInfo.Gid = xe.GetAttribute("gid").ToString();

                // 得到ErrornoInfo节点的所有子节点
                XmlNodeList xnl0 = xe.ChildNodes;
                errornoInfo.Name        = xnl0.Item(0).InnerText;
                errornoInfo.ChineseName = xnl0.Item(1).InnerText;
                errornoInfo.LogLevel    = string.IsNullOrEmpty(xnl0.Item(2).InnerText) ? (short)-1 : Convert.ToInt16(xnl0.Item(2).InnerText);
                errornoInfo.Remark      = xnl0.Item(3).InnerText;
                errornoInfo.lstInfo     = new Dictionary <string, DevExpress.XtraEditors.DXErrorProvider.ErrorInfo>();

                // id="E000001" name="ERR_TEST" chinesename="" loglevel="" remark=""
                XmlElement zi = xmlDoc.CreateElement("error");
                //为<Zi>节点的属性
                zi.SetAttribute("id", IndexNum.ToString());
                zi.SetAttribute("name", string.Format("E{0}", errornoInfo.Name));
                zi.SetAttribute("chinesename", errornoInfo.ChineseName);
                zi.SetAttribute("loglevel", ((short)errornoInfo.LogLevel).ToString());
                zi.SetAttribute("remark", errornoInfo.Remark);
                gen.AppendChild(zi);//添加到<Gen>节点中

                IndexNum++;
            }

            //保存好创建的XML文档
            xmlDoc.Save(string.Format("{0}/error.xml", generalPath));

            MessageDxUtil.ShowTips("导出xml成功");
            Process p = new Process();
            p.StartInfo.FileName  = "explorer.exe";
            p.StartInfo.Arguments = @" /select, " + generalPath;
            p.Start();
        }