Exemple #1
0
        /// <summary>
        /// 将Unicode字串\u.\u.格式字串转换为原始字符串
        /// </summary>
        /// <param name="str"></param>
        /// <returns></returns>
        public static string UnicodeToString(string str)
        {
            string outStr = "";

            str = CRegex.Replace(str, "[\r\n]", "", 0);

            if (!string.IsNullOrEmpty(str))
            {
                string[] strlist = str.Replace("\\u", "㊣").Split('㊣');
                try
                {
                    outStr += strlist[0];
                    for (int i = 1; i < strlist.Length; i++)
                    {
                        string strTemp = strlist[i];
                        if (!string.IsNullOrEmpty(strTemp) && strTemp.Length >= 4)
                        {
                            strTemp = strlist[i].Substring(0, 4);
                            //将unicode字符转为10进制整数,然后转为char中文字符
                            outStr += (char)int.Parse(strTemp, System.Globalization.NumberStyles.HexNumber);
                            outStr += strlist[i].Substring(4);
                        }
                    }
                }
                catch (FormatException ex)
                {
                    outStr += "Erorr";//ex.Message;
                }
            }
            return(outStr);
        }
Exemple #2
0
        /// <summary>
        /// 添加图书评论
        /// </summary>
        /// <returns></returns>
        public string AddBookComment()
        {
            int    BookId      = int.Parse(context.Request.Form["iBookId"].ToString());
            User   u           = UserDal.CurrentUser();
            int    UserId      = u.UserId;
            string UserName    = u.UserName;
            string BookRemarks = context.Request.Form["sBookRemarks"].ToString();

            rm.Success = true;
            try
            {
                BookRemark bookRemark = new BookRemark();
                bookRemark.BookId      = BookId;
                bookRemark.UserId      = UserId;
                bookRemark.BookRemarks = BookRemarks;
                bookRemark.UserName    = UserName;
                bookRemark.ClientIP    = WebHelp.GetIP();
                bookRemark.CreatedTime = DateTime.Now;
                if (CRegex.FilterHTML(bookRemark.BookRemarks) == "")
                {
                    rm.Info = "内容不能为空";
                    return(jss.Serialize(rm));
                }
                int iBookRemarkId = BookDetailsDAL.m_BookRemarkDal.Add(bookRemark);
            }
            catch (Exception)
            {
                rm.Success = false;
                rm.Info    = "未知错误";
            }
            return(jss.Serialize(rm));
        }
Exemple #3
0
        /// <summary>
        /// 添加图书评论的回复2
        /// </summary>
        /// <returns></returns>
        public string AddBookCommentReplyAgain()
        {
            int BookRemarkReplyId = int.Parse(context.Request.Form["iBookRemarkReplyId"].ToString());
            //对哪条回复的回复
            BookRemarkReply ReplyTo  = BookDetailsDAL.m_BookRemarkReplyDal.GetModel(BookRemarkReplyId);
            int             UserId   = ReplyTo.UserId;
            string          UserName = "******" + ReplyTo.UserName;
            string          sBookRemarksReplyAgain = context.Request.Form["sBookRemarksReplyAgain"].ToString();

            rm.Success = true;
            try
            {
                BookRemarkReply bookRemarkReply = new BookRemarkReply();
                bookRemarkReply.BookRemarkId     = ReplyTo.BookRemarkId;
                bookRemarkReply.BookId           = ReplyTo.BookId;
                bookRemarkReply.UserId           = UserId;
                bookRemarkReply.BookRemarksReply = sBookRemarksReplyAgain;
                bookRemarkReply.UserName         = UserName;
                bookRemarkReply.ClientIP         = WebHelp.GetIP();
                bookRemarkReply.CreatedTime      = DateTime.Now;
                if (CRegex.FilterHTML(bookRemarkReply.BookRemarksReply) == "")
                {
                    rm.Info = "内容不能为空";
                    return(jss.Serialize(rm));
                }
                int iBookRemarkReplyId = BookDetailsDAL.m_BookRemarkReplyDal.Add(bookRemarkReply);
            }
            catch (Exception)
            {
                rm.Success = false;
                rm.Info    = "未知错误";
            }
            return(jss.Serialize(rm));
        }
Exemple #4
0
        private bool ValidationContent()
        {
            string ip        = tb_IpAddress.Text.Trim();
            string loginname = tb_LoginName.Text.Trim();
            string password  = tb_Password.Text.Trim();

            if (!CRegex.IsIpAddress(ip))
            {
                MessageBox.Show(ip + " IP地址有误(例:192.168.0.100),请重新输入。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                tb_IpAddress.Focus();
                return(false);
            }
            if (loginname.Length == 0)
            {
                MessageBox.Show("登录名不能为空,请重新输入。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                tb_LoginName.Focus();
                return(false);
            }
            if (password.Length == 0)
            {
                MessageBox.Show("密码不能为空,请重新输入。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                tb_Password.Focus();
                return(false);
            }
            return(true);
        }
Exemple #5
0
        /// <summary>
        /// 获取指定目录下的图片文件名列表
        /// </summary>
        /// <param name="realPath">实际路径</param>
        /// <returns></returns>
        private List <CListItem> GetImageToList(string realPath, int size)
        {
            List <CListItem> list = new List <CListItem>();

            string[] fileArray = GetImages(realPath, "*.gif", "*.jpg", "*.png");
            if (fileArray != null)
            {
                foreach (string file in fileArray)
                {
                    string fileName    = Path.GetFileName(file);
                    string displayText = Path.GetFileNameWithoutExtension(file);
                    //文件名需要去除()和[]等符号
                    displayText = CRegex.Replace(displayText, @"[)\];,\t\r ]|[\n]", "", 0);
                    displayText = CRegex.Replace(displayText, @"[(\[]", "-", 0);
                    //displayText = displayText.Replace("(", "-").Replace(")", "-").Replace("[", "-").Replace("]", "-");

                    //避免冲突,样式名称加上尺寸
                    //16*16的名称:icon-005   32*32的名称:icon-32-005
                    if (size == 16)
                    {
                        displayText = string.Format("icon-{0}", displayText);
                    }
                    else
                    {
                        displayText = string.Format("icon-{0}-{1}", size, displayText);
                    }

                    list.Add(new CListItem(fileName, displayText));
                }
            }
            return(list);
        }
Exemple #6
0
        public static PageType GetPageType(string sUrl, ref string sHtml)
        {
            PageType pt = PageType.HTML;

            //看有没有RSS FEED
            string regRss = @"<link\s+[^>]*((type=""application/rss\+xml"")|(type=application/rss\+xml))[^>]*>";
            Regex  r      = new Regex(regRss, RegexOptions.IgnoreCase);
            Match  m      = r.Match(sHtml);

            if (m.Captures.Count != 0)
            {//有,则转向从RSS FEED中抓取
                string regHref = @"href=\s*(?:'(?<href>[^']+)'|""(?<href>[^""]+)""|(?<href>[^>\s]+))";
                r = new Regex(regHref, RegexOptions.IgnoreCase);
                m = r.Match(m.Captures[0].Value);
                if (m.Captures.Count > 0)
                {
                    //有可能是相对路径,加上绝对路径
                    string rssFile = CRegex.GetUrl(sUrl, m.Groups["href"].Value);
                    sHtml = GetHtmlByUrl(rssFile);
                    pt    = PageType.RSS;
                }
            }
            else
            {//看这个地址本身是不是一个Rss feed
                r = new Regex(@"<rss\s+[^>]*>", RegexOptions.IgnoreCase);
                m = r.Match(sHtml);
                if (m.Captures.Count > 0)
                {
                    pt = PageType.RSS;
                }
            }

            return(pt);
        }
Exemple #7
0
        /// <summary>
        /// 从文本文件读取字典
        /// </summary>
        /// <param name="fileName"></param>
        static public T_DictFile LoadFromTextDict(String fileName)
        {
            T_DictFile dictFile = new T_DictFile();

            String dictStr = CFile.ReadFileToString(fileName, "utf-8");

            String[] words = CRegex.Split(dictStr, "\r\n");

            foreach (String word in words)
            {
                String[] wp = CRegex.Split(word, @"\|");

                if (wp == null)
                {
                    continue;
                }

                if (wp.Length != 2)
                {
                    continue;
                }

                int pos = 0;

                try
                {
                    pos = int.Parse(wp[1]);
                }
                catch
                {
                    continue;
                }

                T_DictStruct dict = new T_DictStruct();
                dict.Word = wp[0];
                dict.Pos  = pos;

                if (dict.Word.Contains("一") || dict.Word.Contains("二") ||
                    dict.Word.Contains("三") || dict.Word.Contains("四") ||
                    dict.Word.Contains("五") || dict.Word.Contains("六") ||
                    dict.Word.Contains("七") || dict.Word.Contains("八") ||
                    dict.Word.Contains("九") || dict.Word.Contains("十"))
                {
                    dict.Pos |= (int)T_POS.POS_A_M;
                }

                if (dict.Word == "字典")
                {
                    dict.Pos = (int)T_POS.POS_D_N;
                }

                dictFile.Dicts.Add(dict);
            }

            return(dictFile);
        }
Exemple #8
0
        /// <summary>
        /// 获取AccessToken
        /// </summary>
        /// <param name="corpid"></param>
        /// <param name="corpsecret"></param>
        /// <returns></returns>
        private string GetAccessToken(string corpid, string corpsecret)
        {
            string Gurl  = string.Format("https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid={0}&corpsecret={1}", corpid, corpsecret);
            string html  = HttpHelper.HttpGet(Gurl, "");
            string regex = "\"access_token\":\"(?<token>.*?)\"";

            string token = CRegex.GetText(html, regex, "token");

            return(token);
        }
Exemple #9
0
        /// <summary>
        /// 获取jsapi_ticket
        /// </summary>
        /// <param name="corpid"></param>
        /// <param name="corpsecret"></param>
        /// <returns></returns>
        public string GetJsapi_ticket(string accesstoken)
        {
            string Gurl  = string.Format("https://qyapi.weixin.qq.com/cgi-bin/get_jsapi_ticket?access_token={0}", accesstoken);
            string html  = HttpHelper.HttpGet(Gurl, "");
            string regex = "\"ticket\":\"(?<token>.*?)\"";

            string token = CRegex.GetText(html, regex, "token");

            return(token);
        }
        /// <summary>
        /// 初始化加载图标资源
        /// </summary>
        /// <returns></returns>
        private DXImageGalleryLoader LoadData()
        {
            this.ImageCollection = new Dictionary <string, GalleryItem>();
            this.Categories      = new List <string>();
            this.Collection      = new List <string>();
            this.Size            = new List <string>();

            using (System.Resources.ResourceReader reader = GetResourceReader(DevExpress.Utils.DxImageAssemblyUtil.ImageAssembly))
            {
                System.Collections.IDictionaryEnumerator dict = reader.GetEnumerator();
                while (dict.MoveNext())
                {
                    string key = (string)dict.Key as string;
                    if (!DevExpress.Utils.DxImageAssemblyUtil.ImageProvider.IsBrowsable(key))
                    {
                        continue;
                    }
                    if (key.EndsWith(".png", StringComparison.Ordinal))
                    {
                        string reg            = @"(?<collection>\S*?)/(?<category>\S*?)/(?<name>\S*)";
                        var    collectionItem = CRegex.GetText(key, reg, "collection");
                        var    categoryItem   = CRegex.GetText(key, reg, "category");
                        string sizeReg        = @"_(?<size>\S*)\.";
                        var    sizeItem       = CRegex.GetText(key, sizeReg, "size");

                        if (!this.Collection.Contains(collectionItem))
                        {
                            this.Collection.Add(collectionItem);
                        }
                        if (!this.Categories.Contains(categoryItem))
                        {
                            this.Categories.Add(categoryItem);
                        }
                        if (!this.Size.Contains(sizeItem))
                        {
                            this.Size.Add(sizeItem);
                        }

                        Image image = GetImageFromStream((System.IO.Stream)dict.Value);
                        if (image != null)
                        {
                            var item = new DevExpress.XtraBars.Ribbon.GalleryItem(image, key, key);
                            if (!ImageCollection.ContainsKey(key))
                            {
                                ImageCollection.Add(key, item);
                            }
                        }
                    }
                }
            }
            return(this);
        }
Exemple #11
0
        public string GetShopList()
        {
            StringBuilder         sb   = new StringBuilder();
            List <travel_shopper> list = travel_shopperDAL.m_travel_shopperDal.GetList("1=1", 10, page, true, "*");

            foreach (var r in list)
            {
                string txt = CRegex.FilterHTML(r.shopper_content).Length > 120 ? CRegex.FilterHTML(r.shopper_content).Substring(0, 120) + "..." : CRegex.FilterHTML(r.shopper_content);
                sb.Append(string.Format(@"<a href=""TripList.aspx?id={0}""><div class=""shopname"" style=""font-size: 20px;font-weight:800;"">{1}</div>
                <div class=""shopdp""><img src=""{2}""></div>
                <div class=""shopcontent"" style=""text-indent:28px;"">{3}</div></a>", r.shopper_shopId, r.shopper_shopname, r.shopper_dp, r.shopper_content));
            }
            return(sb.ToString());
        }
Exemple #12
0
        private static string[] DealWithFrame(string strReg, string url, string content)
        {
            ArrayList alFrame = new ArrayList();
            Regex     r       = new Regex(strReg, RegexOptions.IgnoreCase);
            Match     m       = r.Match(content);

            while (m.Success)
            {
                alFrame.Add(CRegex.GetUrl(url, m.Groups["src"].Value));
                m = m.NextMatch();
            }

            return((string[])alFrame.ToArray(System.Type.GetType("System.String")));
        }
        public string GetGuideList()
        {
            StringBuilder       sb   = new StringBuilder();
            List <travel_guide> list = travel_guideDAL.m_travel_guideDal.GetList("1=1", 10, page, true, "*");

            foreach (var r in list)
            {
                string txt = CRegex.FilterHTML(r.guide_introduce).Length > 120 ? CRegex.FilterHTML(r.guide_introduce).Substring(0, 120) + "..." : CRegex.FilterHTML(r.guide_introduce);
                sb.Append(string.Format(@"<div class=""guidedp""><img src=""{0}""></div>
                <div class=""guidecardId"">导游证编号:{1}</div>
                <div class=""guidename"">姓名:{2}</div>
                <div class=""guideintroduce"">导游简介:{3}</div>", r.guide_dp, r.guide_guidecardId, r.guide_name, r.guide_introduce));
            }
            return(sb.ToString());
        }
        public string GetBuycarList()
        {
            string        listTitle   = Session["listTitle"].ToString();
            string        listPrice   = Session["listPrice"].ToString();
            string        listPicture = Session["listPicture"].ToString();
            string        listTxt     = Session["listTxt"].ToString();
            StringBuilder sb          = new StringBuilder();
            string        txt         = CRegex.FilterHTML(listTxt).Length > 120 ? CRegex.FilterHTML(listTxt).Substring(0, 120) + "..." : CRegex.FilterHTML(listTxt);
            string        tit         = CRegex.FilterHTML(listTitle).Length > 25 ? CRegex.FilterHTML(listTitle).Substring(0, 25) + "..." : CRegex.FilterHTML(listTitle);

            sb.Append(string.Format(@"<div class=""tripcard""><div class=""trippicture""><img src=""{0}""></div>
                <div class=""triptitle""><span style=""font-size: 20px;font-weight:800;"">{1}</span></div>
                <div class=""tripcontent"" style=""text-indent:28px;"">{2}</div>
                <div class=""tripprice"">¥{3}<span style=""font-size: 16px;margin-left: 3px;"">起</span></div><a class=""tripcount"" href=""UserPay.aspx"">立即支付</a></div>", listPicture, tit, txt, listPrice));
            return(sb.ToString());
        }
        /// <summary>
        /// 根据条件获取集合
        /// </summary>
        /// <returns></returns>
        public Dictionary <string, GalleryItemCollection> Search(List <string> collection, List <string> categories, List <string> size, string fileName = "")
        {
            Dictionary <string, GalleryItemCollection> dict = new Dictionary <string, GalleryItemCollection>();

            GalleryItemCollection list = new GalleryItemCollection();

            foreach (var key in ImageCollection.Keys)
            {
                //使用正则表达式获取图标文件名中的集合、类别、大小等信息
                string reg            = @"(?<collection>\S*?)/(?<category>\S*?)/(?<name>\S*)";
                var    collectionItem = CRegex.GetText(key, reg, "collection");
                var    categoryItem   = CRegex.GetText(key, reg, "category");
                string sizeReg        = @"_(?<size>\S*)\.";
                var    sizeItem       = CRegex.GetText(key, sizeReg, "size");

                //如果是查询处理,把记录放到查询结果里面
                if (!string.IsNullOrEmpty(fileName))
                {
                    if (key.Contains(fileName))
                    {
                        list.Add(ImageCollection[key]);
                    }
                    dict["查询结果"] = list;
                }
                else
                {
                    //如果是集合和列表中包含的,把它们按类别添加到字典里面
                    if (collection.Contains(collectionItem) &&
                        categories.Contains(categoryItem) &&
                        size.Contains(sizeItem))
                    {
                        if (!dict.ContainsKey(categoryItem))
                        {
                            GalleryItemCollection cateList = new GalleryItemCollection();
                            cateList.Add(ImageCollection[key]);
                            dict[categoryItem] = cateList;
                        }
                        else
                        {
                            GalleryItemCollection cateList = dict[categoryItem];
                            cateList.Add(ImageCollection[key]);
                        }
                    }
                }
            }
            return(dict);
        }
Exemple #16
0
        public string GetTripList()
        {
            StringBuilder      sb   = new StringBuilder();
            List <travel_trip> list = travel_tripDAL.m_travel_tripDal.GetList("1=1", 10, page, true, "*");

            foreach (var r in list)
            {
                string txt = CRegex.FilterHTML(r.trip_content).Length > 120 ? CRegex.FilterHTML(r.trip_content).Substring(0, 120) + "..." : CRegex.FilterHTML(r.trip_content);
                string tit = CRegex.FilterHTML(r.trip_name).Length > 25 ? CRegex.FilterHTML(r.trip_name).Substring(0, 25) + "..." : CRegex.FilterHTML(r.trip_name);
                sb.Append(string.Format(@"<a href=""TripLiskItem.aspx?id={0}""><div class=""trippicture""><img src=""{1}""></div>
                <div class=""triptitle""><span style=""font-size: 20px;font-weight:800;"">{2}</span></div>
                <div class=""tripcontent"" style=""text-indent:28px;"">{3}</div>
                <div class=""tripprice"">¥{4}<span style=""font-size: 16px;margin-left: 3px;"">起</span></div>
                <div class=""tripcount"">参与人数:{5}</div></a>", r.trip_tripId, r.trip_picutur, tit, txt, r.trip_price, r.trip_count));
            }
            return(sb.ToString());
        }
Exemple #17
0
        static public T_DictFile LoadFromBinFileEx(String fileName)
        {
            T_DictFile dictFile = new T_DictFile();

            dictFile.Dicts = new List <T_DictStruct>();

            FileStream fs = new FileStream(fileName, FileMode.Open, FileAccess.Read);

            byte[] version = new byte[32];
            fs.Read(version, 0, version.Length);
            String ver = Encoding.UTF8.GetString(version, 0, version.Length);

            String verNumStr = CRegex.GetMatch(ver, "KTDictSeg Dict V(.+)", true);

            if (verNumStr == null || verNumStr == "")
            {
                //1.3以前版本

                fs.Close();
                return(LoadFromBinFile(fileName));
            }

            while (fs.Position < fs.Length)
            {
                byte[] buf = new byte[sizeof(int)];
                fs.Read(buf, 0, buf.Length);
                int length = BitConverter.ToInt32(buf, 0);

                buf = new byte[length];

                T_DictStruct dict = new T_DictStruct();

                fs.Read(buf, 0, buf.Length);

                dict.Word      = Encoding.UTF8.GetString(buf, 0, length - sizeof(int) - sizeof(double));
                dict.Pos       = BitConverter.ToInt32(buf, length - sizeof(int) - sizeof(double));
                dict.Frequency = BitConverter.ToDouble(buf, length - sizeof(double));
                dictFile.Dicts.Add(dict);
            }

            fs.Close();

            return(dictFile);
        }
Exemple #18
0
        private void BatchInsert(String fileName, String encoder)
        {
            String content = CFile.ReadFileToString(fileName, encoder);

            String[] words = CRegex.Split(content, @"\r\n");

            bool         allUse  = false;
            T_DictStruct lstWord = null;

            foreach (String word in words)
            {
                if (word == null)
                {
                    continue;
                }

                if (word.Trim() == "")
                {
                    continue;
                }

                FormBatchInsert frmBatchInsert = new FormBatchInsert();

                if (!allUse || lstWord == null)
                {
                    frmBatchInsert.Word.Word = word.Trim();

                    if (frmBatchInsert.ShowDialog() == DialogResult.OK)
                    {
                        lstWord = frmBatchInsert.Word;
                        allUse  = frmBatchInsert.AllUse;
                        m_DictManage.InsertWord(lstWord.Word, lstWord.Frequency, lstWord.Pos);
                    }
                }
                else
                {
                    lstWord.Word = word.Trim();
                    m_DictManage.InsertWord(lstWord.Word, lstWord.Frequency, lstWord.Pos);
                }
            }
        }
        /// <summary>
        /// 获取邮件地址和显示信息到一个字典列表中
        /// </summary>
        /// <param name="emailValues">含邮件地址和说明的字符串(多个用;分开)</param>
        /// <param name="dictList">规范的邮件地址列表</param>
        private void GetEmailList(string emailValues, ref Dictionary <string, string> dictList)
        {
            if (!string.IsNullOrEmpty(emailValues))
            {
                string emailReg = @"([a-z0-9_\.-]+)@([\da-z\.-]+)\.([a-z\.]{2,6})";
                foreach (string item in emailValues.Split(new char[] { ';', ',' }))
                {
                    string email = CRegex.GetText(item, emailReg, 0);
                    if (!string.IsNullOrEmpty(email))
                    {
                        string display = item.Replace(email, "").Replace("(", "").Replace(")", "").Replace("<", "").Replace(">", "");
                        display = !string.IsNullOrEmpty(display) ? display : email;

                        if (!dictList.ContainsKey(email))
                        {
                            dictList.Add(email, display);
                        }
                    }
                }
            }
        }
Exemple #20
0
        /// <summary>
        /// 点击表信息得到的结果
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void Item_LinkClicked(object sender, NavBarLinkEventArgs e)
        {
            var item = sender as NavBarItem;

            // 判断是否已经存在了如果存在了则改为选中
            for (System.Int32 i = 0; i < tabbedView.Documents.Count; i++)
            {
                // 找到 选中
                if (string.Equals(tabbedView.Documents[i].Tag, item.Hint))
                {
                    tabbedView.Controller.Activate(tabbedView.Documents[i]);
                    dockPanel6.HideSliding();
                    return;
                }
            }
            tabbedView.BeginUpdate();
            control = new UserControl();

            control.Name = item.Name;
            control.Text = item.Hint;

            List <object> args = new List <object>();

            #region 读取Table.xml 配置信息
            XmlHelper   xmltableshelper = new XmlHelper(@"XML\tables.xml");
            XmlNodeList xmlNodeLst      = xmltableshelper.Read("datatype/tabletype");
            guidGroup.Clear();
            tableGroup.Clear();
            foreach (XmlNode xn1 in xmlNodeLst)
            {
                // 将节点转换为元素,便于得到节点的属性值
                XmlElement xe = (XmlElement)xn1;

                // 获取字符串中的英文字母 [a-zA-Z]+
                string GroupEnglishName = CRegex.GetText(xe.GetAttribute("name").ToString(), "[a-zA-Z]+", 0);

                guidGroup.Add(xe.GetAttribute("gid").ToString(), string.Format("{0}{1}_", Const.TablePre, GroupEnglishName));
            }

            XmlNodeList xmlNodeLst2 = xmltableshelper.Read("datatype/dataitem");
            foreach (XmlNode xn1 in xmlNodeLst2)
            {
                // 将节点转换为元素,便于得到节点的属性值
                XmlElement xe = (XmlElement)xn1;
                // 得到Type和ISBN两个属性的属性值

                // 得到ConstantInfo节点的所有子节点
                XmlNodeList xnl0 = xe.ChildNodes;

                tableGroup.Add(xnl0.Item(0).InnerText, guidGroup[xnl0.Item(3).InnerText]);
            }
            #endregion

            #region 根据Name 去动态生成控件
            switch (control.Name)
            {
            case "GenerTableSql":
                #region 加载.table数据信息
                string[] filenames = Directory.GetFiles("./XML/", "*.table", SearchOption.TopDirectoryOnly);
                #endregion

                Panel p1 = new Panel();
                p1.Dock   = DockStyle.Top;
                p1.Height = 30;
                Panel p2 = new Panel();
                p2.Dock     = DockStyle.Right;
                p2.Width    = 10;
                progressBar = new ProgressBarControl();
                //设置一个最小值
                progressBar.Properties.Minimum = 0;
                //设置一个最大值
                progressBar.Properties.Maximum = filenames.Length;
                //设置步长,即每次增加的数
                progressBar.Properties.Step = 1;
                //设置进度条的样式
                progressBar.Properties.ProgressViewStyle = DevExpress.XtraEditors.Controls.ProgressViewStyle.Solid;
                progressBar.Dock = DockStyle.Fill;
                progressBar.Properties.ShowTitle = true;

                SimpleButton btn = new SimpleButton();
                btn.Dock   = DockStyle.Right;
                btn.Name   = "btnde";
                btn.Size   = new System.Drawing.Size(90, 25);
                btn.Text   = "执行";
                btn.Click += (sender1, e1) => {
                    progressBar.Position = 0;
                    args.Clear();
                    args.Add(control.Name);
                    args.Add(filenames);
                    this.backgroundWorker1.RunWorkerAsync(args);
                };

                p1.Controls.Add(progressBar);
                p1.Controls.Add(p2);
                p1.Controls.Add(btn);
                control.Controls.Add(p1);
                break;

            case "TableDataSql":
                #region 加载.basicdata数据信息
                string[] filenames2 = Directory.GetFiles("./XML/", "*.basicdata", SearchOption.TopDirectoryOnly);
                #endregion

                Panel p3 = new Panel();
                p3.Dock   = DockStyle.Top;
                p3.Height = 30;
                Panel p4 = new Panel();
                p4.Dock     = DockStyle.Right;
                p4.Width    = 10;
                progressBar = new ProgressBarControl();
                //设置一个最小值
                progressBar.Properties.Minimum = 0;
                //设置一个最大值
                progressBar.Properties.Maximum = filenames2.Length;
                //设置步长,即每次增加的数
                progressBar.Properties.Step = 1;
                //设置进度条的样式
                progressBar.Properties.ProgressViewStyle = DevExpress.XtraEditors.Controls.ProgressViewStyle.Solid;
                progressBar.Dock = DockStyle.Fill;
                progressBar.Properties.ShowTitle = true;

                SimpleButton btn2 = new SimpleButton();
                btn2.Dock   = DockStyle.Right;
                btn2.Name   = "btnde";
                btn2.Size   = new System.Drawing.Size(90, 25);
                btn2.Text   = "执行";
                btn2.Click += (sender1, e1) =>
                {
                    progressBar.Position = 0;
                    args.Clear();
                    args.Add(control.Name);
                    args.Add(filenames2);
                    this.backgroundWorker1.RunWorkerAsync(args);
                };

                p3.Controls.Add(progressBar);
                p3.Controls.Add(p4);
                p3.Controls.Add(btn2);
                control.Controls.Add(p3);
                break;

            case "DictionarySql":
                Panel p5 = new Panel();
                p5.Dock   = DockStyle.Top;
                p5.Height = 30;
                Panel p6 = new Panel();
                p6.Dock     = DockStyle.Right;
                p6.Width    = 10;
                progressBar = new ProgressBarControl();
                //设置一个最小值
                progressBar.Properties.Minimum = 0;
                //设置一个最大值
                progressBar.Properties.Maximum = 2;
                //设置步长,即每次增加的数
                progressBar.Properties.Step = 1;
                //设置进度条的样式
                progressBar.Properties.ProgressViewStyle = DevExpress.XtraEditors.Controls.ProgressViewStyle.Solid;
                progressBar.Dock = DockStyle.Fill;
                progressBar.Properties.ShowTitle = true;

                SimpleButton btn3 = new SimpleButton();
                btn3.Dock   = DockStyle.Right;
                btn3.Name   = "btnde";
                btn3.Size   = new System.Drawing.Size(90, 25);
                btn3.Text   = "执行";
                btn3.Click += (sender1, e1) =>
                {
                    progressBar.Position = 0;
                    args.Clear();
                    args.Add(control.Name);
                    this.backgroundWorker1.RunWorkerAsync(args);
                };

                p5.Controls.Add(progressBar);
                p5.Controls.Add(p6);
                p5.Controls.Add(btn3);
                control.Controls.Add(p5);
                break;

            case "MenuSql":
                Panel p7 = new Panel();
                p7.Dock   = DockStyle.Top;
                p7.Height = 30;
                Panel p8 = new Panel();
                p8.Dock     = DockStyle.Right;
                p8.Width    = 10;
                progressBar = new ProgressBarControl();
                //设置一个最小值
                progressBar.Properties.Minimum = 0;
                //设置一个最大值
                progressBar.Properties.Maximum = 1;
                //设置步长,即每次增加的数
                progressBar.Properties.Step = 1;
                //设置进度条的样式
                progressBar.Properties.ProgressViewStyle = DevExpress.XtraEditors.Controls.ProgressViewStyle.Solid;
                progressBar.Dock = DockStyle.Fill;
                progressBar.Properties.ShowTitle = true;

                SimpleButton btn4 = new SimpleButton();
                btn4.Dock   = DockStyle.Right;
                btn4.Name   = "btnde";
                btn4.Size   = new System.Drawing.Size(90, 25);
                btn4.Text   = "执行";
                btn4.Click += (sender1, e1) =>
                {
                    progressBar.Position = 0;
                    args.Clear();
                    args.Add(control.Name);
                    this.backgroundWorker1.RunWorkerAsync(args);
                };

                p7.Controls.Add(progressBar);
                p7.Controls.Add(p8);
                p7.Controls.Add(btn4);
                control.Controls.Add(p7);
                break;

            case "FunctionSql":
                break;
            }


            #endregion

            BaseDocument document = tabbedView.AddDocument(control);
            document.Footer = Directory.GetCurrentDirectory();
            document.Tag    = item.Hint;

            tabbedView.EndUpdate();
            tabbedView.Controller.Activate(document);

            dockPanel6.HideSliding();
        }
Exemple #21
0
        private void InputRecord()
        {
            List <CbIoRecord> mRecord = new List <CbIoRecord>();

            try
            {
                foreach (string item in _FileNames)
                {
                    if (!CRegex.IsEnterExitRecordFileName(Path.GetFileNameWithoutExtension(item)))
                    {
                        continue;
                    }
                    this.Invoke(new EventHandler(delegate
                    {
                        l_Title.Text = string.Format("正在导入“{0}”", Path.GetFileNameWithoutExtension(item));
                        pBar.PerformStep();
                    }));
                    using (TextFieldParser tfp = new TextFieldParser(item, Encoding.GetEncoding("gb2312")))
                    {
                        tfp.Delimiters    = new string[] { "," };//确认分隔符
                        tfp.TextFieldType = FieldType.Delimited;
                        int number = 0;
                        int state  = 0;
                        int count  = 0;
                        while (!tfp.EndOfData)
                        {
                            string[] str = tfp.ReadFields();//读取行
                            if (str.Length >= 3)
                            {
                                count++;
                                //888883,000000,20140927151922
                                //组合Sql语句
                                CbIoRecord record = new CbIoRecord();
                                record.DeviceNumber = number;
                                record.IOTime       = DateTime.ParseExact(str[2], "yyyyMMddHHmmss", System.Globalization.CultureInfo.CurrentCulture);
                                record.IOState      = state;//0进 1出

                                if (str[0] == "FFFFFF" && str[1] == "FFFFFF")
                                {
                                    string[] str2 = tfp.ReadFields();
                                    if (str2[0] == "FFFFFF" && str2[1] == "FFFFFF")
                                    {
                                    }
                                    else if (str2[0] == "FFFFFF")//车牌识别卡
                                    {
                                        record.MasterCardNumber = str2[1];
                                    }
                                    else //IC卡
                                    {
                                        string icnumber = str2[0] + str2[1];
                                        icnumber = icnumber.Remove(0, 4);
                                        record.MasterCardNumber = icnumber;
                                    }
                                    record.SubCardNumber = str2[2];
                                }
                                else
                                {
                                    record.MasterCardNumber = str[0];
                                    record.SubCardNumber    = str[1];
                                }
                                mRecord.Add(record);
                            }
                            else
                            {
                                if (str[0].Contains("!!"))
                                {
                                    number = Utils.StrToInt(str[0].Substring(10, 2), 0);
                                    state  = Utils.StrToInt(str[0].Substring(12, 2), 0);
                                }
                            }
                        }
                    }
                }
                this.Invoke(new EventHandler(delegate
                {
                    l_Title.Text = "正在保存数据";
                    Dbhelper.Db.Insert <CbIoRecord>(mRecord.ToArray());
                    tInputRecord      = null;
                    this.DialogResult = DialogResult.OK;
                }));
            }
            catch (Exception ex)
            {
                CustomExceptionHandler.GetExceptionMessage(ex);
                MessageBox.Show("导入失败错误数据:" + ex.Message, "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            finally
            {
                tInputRecord = null;
                Close();
            }
        }
Exemple #22
0
        //更新店铺时语音转mp3
        public async Task <string> SendVoiceToAliOss(int voiceId, int artId, int commentId, string content = "", bool needUpdateContent = false, bool isupdate = false)
        {
            string artcont = content;

            if (voiceId < 1)
            {
                return(string.Empty);
            }
            C_Attachment model = GetModel(voiceId);

            if (model == null)
            {
                return(string.Empty);
            }
            model.itemId = artId;
            try
            {
                if (!string.IsNullOrEmpty(model.filepath))
                {
                    if (isupdate)
                    {
                        if (!model.filepath.Contains("temp"))//不是新上传的,停止操作!
                        {
                            log4net.LogHelper.WriteInfo(this.GetType(), "观察日志:修改文章停止旧语音移动。文章ID=" + artId + "语音路径" + model.filepath);
                            return(string.Empty);
                        }
                    }
                    var    bucket      = ConfigurationManager.AppSettings["BucketName"];
                    int    whichDomain = 1;
                    string TemplateId  = string.Empty;
                    string PipelineId  = string.Empty;
                    TemplateId = ConfigurationManager.AppSettings["VoiceTemplateId"] ?? "42d5aac40e6a50bf13045a40aeb83b6f";
                    PipelineId = ConfigurationManager.AppSettings["PipelineId"] ?? "4bc9dd15cb3d48e39e0824e19c41defb";
                    var finalVoiceKey    = string.Empty;
                    var finalVoiceFolder = AliOSSHelper.GetOssVoiceKey("mp3", false, "voice/folder", out finalVoiceKey, whichDomain);
                    //上传的本地音频。并且不是mp3|| 微信语音
                    if (!string.IsNullOrEmpty(model.VoiceServerId))
                    {
                        //转换mp3
                        bool submitResult = await AliMTSHelper.SubmitJobs(model.filepath, finalVoiceKey, bucket, TemplateId, PipelineId, "", whichDomain);

                        if (submitResult)
                        {//转换成功。更新路径
                            model.thumbnail = finalVoiceKey;
                            //图文混排内容里的音频替换
                            if (needUpdateContent)
                            {
                                var voiceurl = model.filepath;
                                artcont = CRegex.Replace(artcont, voiceurl, finalVoiceKey, 0);
                            }
                        }//音频转换失败
                        else
                        {
                            log4net.LogHelper.WriteInfo(this.GetType(), "语音给AliOSS转换格式失败!ID为" + model.id + "==" + model.filepath);
                        }
                    }//mp3移动
                    else
                    {
                        //本地音频mp3格式从temp 拷贝
                        Task <bool> moveResult = Task <bool> .Factory.StartNew(
                            () =>
                        {
                            return(AliOSSHelper.CopyObect(model.thumbnail, finalVoiceKey));
                        }
                            );

                        ;
                        if (await moveResult)
                        {//移动成功。更新路径
                            model.thumbnail = finalVoiceKey;
                            //图文混排内容里的音频替换
                            if (needUpdateContent)
                            {
                                var voiceurl = model.filepath;
                                artcont = CRegex.Replace(artcont, voiceurl, finalVoiceKey, 0);
                            }
                        }
                        // 移动失败
                        else
                        {
                            log4net.LogHelper.WriteInfo(this.GetType(), "本地音频AliOSS临时文件夹移动到正式文件夹失败!ID为" + model.id);
                        }
                    }
                }

                MySqlParameter[] param = new MySqlParameter[] { new MySqlParameter("@itemId", artId),
                                                                new MySqlParameter("@filepath", model.filepath),
                                                                new MySqlParameter("@thumbnail", model.thumbnail),
                                                                new MySqlParameter("@id", model.id) };

                string sql = "update C_Attachment set itemId=@itemId,filepath=@filepath,thumbnail=@thumbnail where id=@id";
                SqlMySql.ExecuteNonQuery(Utility.dbEnum.MINIAPP.ToString(), System.Data.CommandType.Text, sql, param);
                RedisUtil.Remove(string.Format(CImageKey, model.itemId, model.itemType));
                RemoveRedis(model.itemId, model.itemType);

                return(artcont);
            }
            catch (Exception ex)
            {
                log4net.LogHelper.WriteError(this.GetType(), new Exception("voiceid" + model.id + "移动语音失败:" + ex.Message));
                return(string.Empty);
            }
        }
Exemple #23
0
        /// <summary>
        /// 读取xml数据
        /// </summary>
        private void ReadXMLData()
        {
            #region 加载数据字典大项
            XmlNodeList xmlNodeLst = xmldicthelper.Read("datatype/dataitem");
            dictTypeInfoList = new List <DictInfo>();
            foreach (XmlNode xn1 in xmlNodeLst)
            {
                DictInfo dictInfo = new DictInfo();
                // 将节点转换为元素,便于得到节点的属性值
                XmlElement xe = (XmlElement)xn1;

                // 得到DataTypeInfo节点的所有子节点
                XmlNodeList xnl0 = xe.ChildNodes;
                dictInfo.Id     = xnl0.Item(0).InnerText.ToInt32();
                dictInfo.Pid    = xnl0.Item(1).InnerText.ToInt32();
                dictInfo.Name   = xnl0.Item(2).InnerText;
                dictInfo.Remark = xnl0.Item(3).InnerText;

                dictTypeInfoList.Add(dictInfo);
            }
            #endregion

            #region 读取项目数据
            XmlNodeList xmlprejectNodeLst = xmlprojectthelper.Read("datatype");

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

            XmlNode xn1project = xmlprejectNodeLst[0];
            projectInfo = new ProjectInfo();

            // 将节点转换为元素,便于得到节点的属性值
            XmlElement xeproject = (XmlElement)xn1project;
            // 得到Type和ISBN两个属性的属性值
            projectInfo.Gid = xeproject.GetAttribute("gid").ToString();
            // 得到DataTypeInfo节点的所有子节点
            XmlNodeList xnl0project = xeproject.ChildNodes;
            projectInfo.Name           = xnl0project.Item(0).InnerText;
            projectInfo.Version        = xnl0project.Item(1).InnerText;
            projectInfo.Contacts       = xnl0project.Item(2).InnerText;
            projectInfo.Remark         = xnl0project.Item(3).InnerText;
            projectInfo.DbType         = xnl0project.Item(4).InnerText;
            projectInfo.DicttypeTable  = xnl0project.Item(5).InnerText;
            projectInfo.DictdataTable  = xnl0project.Item(6).InnerText;
            projectInfo.ErrTable       = xnl0project.Item(7).InnerText;
            projectInfo.LastUpdateTime = Convert.ToDateTime(xnl0project.Item(8).InnerText);
            projectInfo.OutputPath     = xnl0project.Item(9).InnerText;

            #endregion

            #region 读取Table.xml 配置信息
            XmlHelper   xmltableshelper = new XmlHelper(@"XML\tables.xml");
            XmlNodeList xmlNodeLst2     = xmltableshelper.Read("datatype/tabletype");
            guidGroup.Clear();
            tableGroup.Clear();
            foreach (XmlNode xn1 in xmlNodeLst2)
            {
                // 将节点转换为元素,便于得到节点的属性值
                XmlElement xe = (XmlElement)xn1;

                // 获取字符串中的英文字母 [a-zA-Z]+
                string GroupEnglishName = CRegex.GetText(xe.GetAttribute("name").ToString(), "[a-zA-Z]+", 0);

                guidGroup.Add(xe.GetAttribute("gid").ToString(), string.Format("{0}{1}_", Const.TablePre, GroupEnglishName));
            }

            XmlNodeList xmlNodeLst3 = xmltableshelper.Read("datatype/dataitem");
            foreach (XmlNode xn1 in xmlNodeLst3)
            {
                // 将节点转换为元素,便于得到节点的属性值
                XmlElement xe = (XmlElement)xn1;
                // 得到Type和ISBN两个属性的属性值

                // 得到ConstantInfo节点的所有子节点
                XmlNodeList xnl0 = xe.ChildNodes;

                tableGroup.Add(xnl0.Item(0).InnerText, guidGroup[xnl0.Item(3).InnerText]);
            }
            #endregion
        }
        private void InputInfo()
        {
            CbDeviceInfo        mode;
            List <CbDeviceInfo> deviceinfos = new List <CbDeviceInfo>();

            try
            {
                StringBuilder   sb = new StringBuilder();
                TextFieldParser tfp;
                foreach (string item in _FileNames)
                {
                    if (!File.Exists(item))
                    {
                        continue;
                    }
                    string filename = Path.GetFileNameWithoutExtension(item);
                    if (!CRegex.IsDeviceInfoFileName(filename))
                    {
                        continue;
                    }
                    l_Title.Text = "正在导入:" + filename;
                    pBar.PerformStep();
                    sb.AppendFormat("文件:{0}", filename);
                    using (tfp = new TextFieldParser(item))
                    {
                        tfp.Delimiters    = new string[] { ",", "<", ">" };
                        tfp.TextFieldType = FieldType.Delimited;
                        mode = new CbDeviceInfo();
                        while (!tfp.EndOfData)
                        {
                            string[] content = tfp.ReadFields();
                            int      number  = Convert.ToInt32(content[0], 16);
                            string   value   = content[2];
                            switch (number)
                            {
                            case 0:
                                mode.HostNumber    = Utils.StrToInt(value.Substring(0, 2), 1);
                                mode.Frequency     = Utils.StrToInt(value.Substring(2, 2), 1);
                                mode.WirelessID    = Utils.StrToInt(value.Substring(4, 8), 0);
                                mode.IsLikeMachine = Utils.StrToInt(value.Substring(12, 2), 0);
                                break;

                            case 1:
                                mode.Distance = Utils.StrToInt(value, 1);
                                break;

                            case 2:
                                mode.EquipmentDelay = Utils.StrToInt(value, 1);
                                break;

                            case 3:
                                //mode.CustomerNumber = Utils.StrToInt(value, 9887);
                                break;

                            case 8:
                                mode.FieldPartition = Convert.ToInt32(value, 16);
                                break;

                            case 9:
                                if (!string.IsNullOrEmpty(value))
                                {
                                    mode.IOSate = Utils.StrToInt(value, 0);
                                }
                                break;

                            case 10:
                                mode.AntiSubmarineBack = Utils.StrToInt(value, 0);
                                break;

                            case 12:
                                switch (value.Substring(value.Length - 2, 2))
                                {
                                case "F0":        //继电器开闸
                                    mode.DeviceMode = 3;
                                    break;

                                case "AA":        //学习遥控器开闸
                                    mode.DeviceMode = 2;
                                    break;

                                case "FF":        //串口开闸
                                    mode.DeviceMode   = 0;
                                    mode.DeviceNumber = Convert.ToInt32(value.Substring(0, 6), 16);
                                    break;

                                case "55":        //无线电开闸
                                    mode.DeviceMode   = 1;
                                    mode.DeviceNumber = Convert.ToInt32(value.Substring(0, 6), 16);
                                    break;
                                }
                                break;

                            case 13:
                                mode.Language = Utils.StrToInt(value, 0);
                                break;

                            case 15:
                                mode.VehicleDetection = Utils.StrToInt(value, 0);
                                break;

                            case 17:
                                mode.VagueQueryNumber = Utils.StrToInt(value, 0);
                                break;
                            }
                        }
                        deviceinfos.Add(mode);
                    }
                }
                this.Invoke(new EventHandler(delegate
                {
                    l_Title.Text      = "正在保存数据,请勿操作。";
                    btn_Enter.Enabled = false;
                    Dbhelper.Db.Insert <CbDeviceInfo>(deviceinfos.ToArray());
                    this.DialogResult = DialogResult.OK;
                }));
            }
            catch (Exception ex)
            {
                CustomExceptionHandler.GetExceptionMessage(ex);
                MessageBox.Show("导入失败错误数据:" + ex.Message, "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
                Close();
            }
        }
        /// <summary>
        /// 生成图标文件
        /// </summary>
        /// <returns></returns>
        public ActionResult GenerateIconCSS()
        {
            CommonResult  result       = new CommonResult();
            string        regex        = "^\\.(?<name>.*?):before\\s*\\{";
            List <string> filePathList = new List <string>()
            {
                "~/Content/themes/metronic/assets/global/plugins/bootstrap/css/bootstrap.css",
                "~/Content/themes/metronic/assets/global/plugins/font-awesome/css/font-awesome.css",
                "~/Content/themes/metronic/assets/global/plugins/simple-line-icons/simple-line-icons.css",
            };
            //图标类型
            List <string> sourceTypeList = new List <string>()
            {
                "Glyphicons",
                "FontAwesome",
                "SimpleLine",
            };
            List <string> prefixList = new List <string>()
            {
                "glyphicon ",
                "fa ",
                "",
            };

            //对每个文件进行匹配并存储
            int i = 0;

            try
            {
                foreach (string filePath in filePathList)
                {
                    string realPath = Server.MapPath(filePath);
                    if (FileUtil.FileIsExist(realPath))
                    {
                        string sourceType = sourceTypeList[i];
                        BLLFactory <BootstrapIcon> .Instance.DeleteBySourceType(sourceType);

                        string        prefix    = prefixList[i];
                        string        content   = FileUtil.FileToString(realPath);
                        List <string> matchList = CRegex.GetList(content, regex, 1);
                        foreach (string item in matchList)
                        {
                            //包含特殊的字符,去掉即可
                            if (item.IndexOfAny(new char[] { '.', '>', '+' }) > 0)
                            {
                                continue;
                            }

                            BootstrapIconInfo info = new BootstrapIconInfo()
                            {
                                DisplayName = item,
                                ClassName   = prefix + item,
                                CreateTime  = DateTime.Now,
                                SourceType  = sourceType,
                            };

                            BLLFactory <BootstrapIcon> .Instance.Insert(info);
                        }
                        result.Success = true;
                    }
                    i++;
                }
            }
            catch (Exception ex)
            {
                result.Success      = false;
                result.ErrorMessage = ex.Message;
                LogHelper.WriteLog(LogLevel.LOG_LEVEL_CRIT, ex, typeof(BootstrapIconController));
            }

            return(ToJsonContent(result));
        }
Exemple #26
0
        private string getAttachValue(string attach, string value)
        {
            string regex = "(?:^|\\?|&)" + value.ToLower() + "=(?<value>[\\s\\S]+?)(?:&|$)";

            return(CRegex.GetText(attach.ToLower(), regex, "value"));
        }
Exemple #27
0
        public string BindRews()//查询函数 返回拼凑好的列表
        {
            StringBuilder sb1 = new StringBuilder();

            try
            {
                //List<RNews> list = RNewsDAL.m_RNewsDal.GetList("NewsClass='线报活动'", pagesize, page, true, "*", "Id", para);



                DataTable dt = RNewsDAL.GetUserScoreTop(isclass, page);

                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    //sb1.Append(string.Format(@"1={0},2={1},3={2},4={3},5={4},6={5},7={6},8={7}", dt.Rows[i][0].ToString(), dt.Rows[i][1].ToString(), dt.Rows[i][2].ToString(), dt.Rows[i][3].ToString(), dt.Rows[i][4].ToString(), dt.Rows[i][5].ToString(), dt.Rows[i][6].ToString(), dt.Rows[i][7].ToString()));

                    sb1.Append(string.Format(@"<li><div class='thumbnail col-lg-3 col-md-3 col-sm-3 col-xs-3'><img src='{0}' alt=''></div>", dt.Rows[i][3].ToString()));
                    sb1.Append(string.Format(@"<div class='detailed col-lg-9 col-md-9 col-sm-9 col-xs-9'><h3><a target='_blank' href='articleContent.aspx?id={0}'>{1}</a></h3>", dt.Rows[i][8].ToString(), dt.Rows[i][1].ToString()));
                    sb1.Append(string.Format(@"<div class='wztime'><span >时间:{0}</span><span class='hidden-xs'>作者:{1}</span><span class='hidden-xs'>星级:<img src='img/s{2}.gif' alt=''></span>", dt.Rows[i][4].ToString(), dt.Rows[i][7].ToString(), dt.Rows[i][5].ToString()));
                    sb1.Append(string.Format(@"<p class='wzxiangxi col-lg-12 col-md-12 col-sm-12 hidden-xs'>{0}</p></div></li>", CRegex.FilterHTML(dt.Rows[i][2].ToString())));
                }


                //sb1.Append(string.Format(@"<li><a target='_blank' href=""/RNewsM.aspx?id={0}"" title=""{3}"">{1}</a><span>{2}</span></li>", i.ID, STitle, i.CreatedTime.ToShortDateString().ToString(), i.Title));


                //GridView1.DataSource = list;
                // GridView1.DataBind();
            }
            catch (Exception ex)
            {
                Response.Write("网站正在维修中...");
            }

            return(sb1.ToString());
        }
Exemple #28
0
        public string AddComment()
        {
            string title = context.Request.Form["title"].ToString();
            string text  = context.Request.Form["text"].ToString();

            //过滤html标签再判断是否为空
            if (CRegex.FilterHTML(text) == "")
            {
                rm.Info = "内容不能为空";
                return(jss.Serialize(rm));
            }
            else if (CRegex.FilterHTML(text).Length > 500 || CRegex.FilterHTML(text).Length < 6)
            {
                rm.Info = "问题内容长度在6~500之间";
                return(jss.Serialize(rm));
            }
            else
            {
                string         strIP = WebHelp.GetIP();
                User           user  = UserDal.CurrentUser();//获取当前登陆用户
                List <dbParam> list  = new List <dbParam>()
                {
                    new dbParam()
                    {
                        ParamName = "@ClientIP", ParamValue = strIP
                    },
                    new dbParam()
                    {
                        ParamName = "@UserId", ParamValue = user.UserId
                    }
                };
                #region  一IP,同一当前日期(年月日),可以确定当天评论次数。
                List <WebComment> wList = WebCommentDAL.m_WebCommentDal.GetList(" ClientIP=@ClientIP and UserId=@UserId", list);
                int count = 0;
                if (wList.Count == 0)
                {
                    count = 0;
                }
                else
                {
                    string DateCurrent = string.Format("{0:D}", DateTime.Now);//设置当前日期(年-月-日)
                    foreach (var w in wList)
                    {
                        if (DateCurrent == string.Format("{0:D}", w.CreatedTime))
                        {
                            count++;
                        }
                    }
                }
                #endregion
                //同一用户不能一天超过三次留言
                if (count >= 3)
                {
                    rm.Info = "一天最多只能发帖三次";
                    jss.Serialize(rm);
                }
                else
                {
                    if (user.Type < 0)
                    {
                        rm.Info = "只有已登录用户才能发帖";
                        jss.Serialize(rm);
                    }
                    else
                    {
                        WebComment webCom = new WebComment();
                        webCom.CommentTitle = title;
                        webCom.CommentText  = text;
                        webCom.CreatedTime  = DateTime.Now;
                        webCom.ClientIP     = WebHelp.GetIP();
                        webCom.UserId       = user.UserId;
                        WebCommentDAL.m_WebCommentDal.Add(webCom);

                        rm.Success = true;
                        rm.Info    = "提交成功";
                    }
                }
            }
            return(jss.Serialize(rm));
        }
Exemple #29
0
        private void btnModField_Click(object sender, EventArgs e)
        {
            StdFieldInfo aftermodstdFieldInfo = new StdFieldInfo();

            aftermodstdFieldInfo.Gid         = _beforemodstdFieldInfo.Gid;
            aftermodstdFieldInfo.Name        = txtName.Text.Trim();
            aftermodstdFieldInfo.ChineseName = txtChineseName.Text.Trim();
            aftermodstdFieldInfo.DataType    = lueFieldType.EditValue.ToString();

            StringBuilder content = new StringBuilder();

            #region 检查一下字段是否存在
            foreach (StdFieldInfo dataTypeInfo in _lstDataTypeInfo)
            {
                if (string.IsNullOrEmpty(dataTypeInfo.Gid))
                {
                    continue;
                }

                // 与别的字段重名,不允许修改
                if (string.Equals(aftermodstdFieldInfo.Name, dataTypeInfo.Name) && !string.Equals(_beforemodstdFieldInfo.Name, dataTypeInfo.Name))
                {
                    LogHelper.WriteLog(LogLevel.LOG_LEVEL_ERR, "该标准字段已存在,不允许修改", typeof(FrmModField));
                    MessageDxUtil.ShowWarning("该标准字段已存在,不允许修改");
                    return;
                }
            }
            #endregion

            #region 取project.xml 判断当前数据库
            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 dbType = xnl0project.Item(4).InnerText;
            #endregion

            #region 生成SQL文件
            if (!string.Equals(_beforemodstdFieldInfo.Name, aftermodstdFieldInfo.Name) || !string.Equals(_beforemodstdFieldInfo.DataType, aftermodstdFieldInfo.DataType))
            {
                // SQLServer 修改字段   exec sp_rename '表名.列名','新列名' -- 注意,单引号不可省略。
                // SQLServer 修改字段类型 alter table 表名 alter column 字段名 type not null
                // MySql 修改字段 ALTER TABLE  表名 CHANGE  旧字段名 新字段名 字段类型
                // MySql 修改字段类型 ALTER TABLE  表名 CHANGE  字段名 字段名 新字段类型
                string saveFile = FileDialogHelper.SaveText("更新字段.sql", "C:\\myares\\");
                if (!string.IsNullOrEmpty(saveFile))
                {
                    String[] sqltablefileNames = DirectoryUtil.GetFileNames(@"XML\", "*.table", true);
                    foreach (string tablefileName in sqltablefileNames)
                    {
                        LogHelper.WriteLog(LogLevel.LOG_LEVEL_DEBUG, string.Format("开始变更{0}文件中变更前字段为{1}", tablefileName, _beforemodstdFieldInfo.Name), typeof(FrmModField));
                        XmlHelper xmltablehelper = new XmlHelper(tablefileName);
                        try
                        {
                            XmlNodeList xmlNodeLst = xmltablehelper.Read("datatype/fieldsinfo");
                            for (Int32 i = 0; i < xmlNodeLst.Count; i++)
                            {
                                // 字段变更
                                if (string.Equals(xmlNodeLst[i].ChildNodes.Item(0).InnerText, _beforemodstdFieldInfo.Name) && !string.Equals(_beforemodstdFieldInfo.Name, aftermodstdFieldInfo.Name))
                                {
                                    #region 读取Table.xml 配置信息

                                    XmlHelper   xmltableshelper            = new XmlHelper(@"XML\tables.xml");
                                    XmlNodeList xmlNodeLst22               = xmltableshelper.Read("datatype/tabletype");
                                    Dictionary <string, string> guidGroup  = new Dictionary <string, string>();
                                    Dictionary <string, string> tableGroup = new Dictionary <string, string>();
                                    guidGroup.Clear();
                                    tableGroup.Clear();
                                    foreach (XmlNode xn1 in xmlNodeLst22)
                                    {
                                        // 将节点转换为元素,便于得到节点的属性值
                                        XmlElement xe = (XmlElement)xn1;

                                        // 获取字符串中的英文字母 [a-zA-Z]+
                                        string GroupEnglishName = CRegex.GetText(xe.GetAttribute("name").ToString(), "[a-zA-Z]+", 0);

                                        guidGroup.Add(xe.GetAttribute("gid").ToString(), string.Format("{0}{1}_", Const.TablePre, GroupEnglishName));
                                    }

                                    XmlNodeList xmlNodeLst2 = xmltableshelper.Read("datatype/dataitem");
                                    foreach (XmlNode xn1 in xmlNodeLst2)
                                    {
                                        // 将节点转换为元素,便于得到节点的属性值
                                        XmlElement xe = (XmlElement)xn1;
                                        // 得到Type和ISBN两个属性的属性值

                                        // 得到ConstantInfo节点的所有子节点
                                        XmlNodeList xnl0 = xe.ChildNodes;

                                        tableGroup.Add(xnl0.Item(0).InnerText, guidGroup[xnl0.Item(3).InnerText]);
                                    }
                                    #endregion

                                    string tableName = xmltablehelper.Read("datatype/basicinfo/item/name").Item(0).InnerText;
                                    content.Append(string.Format("exec sp_rename '{0}.{1}','{2}';\r\nGO\r\n\r\n", tableGroup[tableName] + tableName, _beforemodstdFieldInfo.Name, aftermodstdFieldInfo.Name));
                                }

                                if (string.Equals(xmlNodeLst[i].ChildNodes.Item(0).InnerText, _beforemodstdFieldInfo.Name) && !string.Equals(_beforemodstdFieldInfo.DataType, aftermodstdFieldInfo.DataType))
                                {
                                    #region 先读取datatype.xml 在读取defaulttype.xml 然后Linq 查询保存到数据字典dic中
                                    XmlHelper           xmldatatypehelper  = new XmlHelper(@"XML\datatype.xml");
                                    XmlNodeList         xmldatatypeNodeLst = xmldatatypehelper.Read("datatype");
                                    List <DataTypeInfo> dataTypeInfoList   = new List <DataTypeInfo>();
                                    foreach (XmlNode xn1 in xmldatatypeNodeLst)
                                    {
                                        DataTypeInfo dataTypeInfo = new DataTypeInfo();
                                        // 将节点转换为元素,便于得到节点的属性值
                                        XmlElement xe = (XmlElement)xn1;
                                        // 得到Type和ISBN两个属性的属性值
                                        dataTypeInfo.Gid = xe.GetAttribute("gid").ToString();

                                        // 得到DataTypeInfo节点的所有子节点
                                        XmlNodeList xnl0 = xe.ChildNodes;
                                        dataTypeInfo.Name      = xnl0.Item(0).InnerText;
                                        dataTypeInfo.StdType   = xnl0.Item(2).InnerText;
                                        dataTypeInfo.Length    = xnl0.Item(3).InnerText;
                                        dataTypeInfo.Precision = xnl0.Item(4).InnerText;

                                        dataTypeInfoList.Add(dataTypeInfo);
                                    }

                                    XmlHelper   defaulttypexmlHelper  = new XmlHelper(@"XML\defaulttype.xml");
                                    XmlNodeList defaulttypexmlNodeLst = defaulttypexmlHelper.Read("datatype");
                                    Dictionary <string, string> dict  = new Dictionary <string, string>();
                                    foreach (var dataTypeInfo in dataTypeInfoList)
                                    {
                                        foreach (XmlNode xn1 in defaulttypexmlNodeLst)
                                        {
                                            // 将节点转换为元素,便于得到节点的属性值
                                            XmlElement xe = (XmlElement)xn1;
                                            // 得到DataTypeInfo节点的所有子节点
                                            XmlNodeList xnl0  = xe.ChildNodes;
                                            string      value = string.Empty;
                                            if (dbType == "Oracle")
                                            {
                                                value = xnl0.Item(2).InnerText;
                                            }
                                            else if (dbType == "Mysql")
                                            {
                                                value = xnl0.Item(3).InnerText;
                                            }
                                            else if (dbType == "DB2")
                                            {
                                                value = xnl0.Item(4).InnerText;
                                            }
                                            else if (dbType == "SqlServer")
                                            {
                                                value = xnl0.Item(5).InnerText;
                                            }
                                            else if (dbType == "Sqlite")
                                            {
                                                value = xnl0.Item(6).InnerText;
                                            }
                                            else if (dbType == "Access")
                                            {
                                                value = xnl0.Item(7).InnerText;
                                            }

                                            // 找到匹配记录
                                            if (dataTypeInfo.StdType == xnl0.Item(0).InnerText)
                                            {
                                                if (value.Contains("$L"))
                                                {
                                                    if (String.Empty == dataTypeInfo.Length)
                                                    {
                                                        value = value.Replace("$L", "0");
                                                    }
                                                    else
                                                    {
                                                        value = value.Replace("$L", dataTypeInfo.Length);
                                                    }
                                                }
                                                if (value.Contains("$P"))
                                                {
                                                    if (String.Empty == dataTypeInfo.Precision)
                                                    {
                                                        value = value.Replace("$P", "0");
                                                    }
                                                    else
                                                    {
                                                        value = value.Replace("$P", dataTypeInfo.Precision);
                                                    }
                                                }
                                                dict.Add(dataTypeInfo.Name, value);
                                            }
                                        }
                                    }
                                    #endregion

                                    #region 读取Table.xml 配置信息

                                    XmlHelper   xmltableshelper            = new XmlHelper(@"XML\tables.xml");
                                    XmlNodeList xmlNodeLst22               = xmltableshelper.Read("datatype/tabletype");
                                    Dictionary <string, string> guidGroup  = new Dictionary <string, string>();
                                    Dictionary <string, string> tableGroup = new Dictionary <string, string>();
                                    guidGroup.Clear();
                                    tableGroup.Clear();
                                    foreach (XmlNode xn1 in xmlNodeLst22)
                                    {
                                        // 将节点转换为元素,便于得到节点的属性值
                                        XmlElement xe = (XmlElement)xn1;

                                        // 获取字符串中的英文字母 [a-zA-Z]+
                                        string GroupEnglishName = CRegex.GetText(xe.GetAttribute("name").ToString(), "[a-zA-Z]+", 0);

                                        guidGroup.Add(xe.GetAttribute("gid").ToString(), string.Format("{0}{1}_", Const.TablePre, GroupEnglishName));
                                    }

                                    XmlNodeList xmlNodeLst2 = xmltableshelper.Read("datatype/dataitem");
                                    foreach (XmlNode xn1 in xmlNodeLst2)
                                    {
                                        // 将节点转换为元素,便于得到节点的属性值
                                        XmlElement xe = (XmlElement)xn1;
                                        // 得到Type和ISBN两个属性的属性值

                                        // 得到ConstantInfo节点的所有子节点
                                        XmlNodeList xnl0 = xe.ChildNodes;

                                        tableGroup.Add(xnl0.Item(0).InnerText, guidGroup[xnl0.Item(3).InnerText]);
                                    }
                                    #endregion

                                    string tableName = xmltablehelper.Read("datatype/basicinfo/item/name").Item(0).InnerText;
                                    content.Append(string.Format("alter table {0} alter column {1} {2};\r\nGO\r\n\r\n", tableGroup[tableName] + tableName, aftermodstdFieldInfo.Name, dict[aftermodstdFieldInfo.DataType]));
                                }
                            }
                            xmltablehelper.Save(false);
                        }
                        catch (Exception ex)
                        {
                            LogHelper.WriteLog(LogLevel.LOG_LEVEL_CRIT, ex, typeof(FrmModField));
                            MessageDxUtil.ShowError(ex.Message);
                        }
                        LogHelper.WriteLog(LogLevel.LOG_LEVEL_DEBUG, string.Format("结束变更{0}文件中变更前字段为{1}", tablefileName, _beforemodstdFieldInfo.Name), typeof(FrmModField));
                    }

                    FileUtil.WriteText(saveFile, content.ToString(), Encoding.UTF8);

                    if (MessageDxUtil.ShowYesNoAndTips("保存成功,是否打开文件?") == System.Windows.Forms.DialogResult.Yes)
                    {
                        System.Diagnostics.Process.Start(saveFile);
                    }
                }
            }
            #endregion

            #region 修改*.table 字段
            String[] tablefileNames = DirectoryUtil.GetFileNames(@"XML\", "*.table", true);
            foreach (string tablefileName in tablefileNames)
            {
                LogHelper.WriteLog(LogLevel.LOG_LEVEL_DEBUG, string.Format("开始变更{0}文件中变更前字段为{1}", tablefileName, _beforemodstdFieldInfo.Name), typeof(FrmModField));
                XmlHelper xmltablehelper = new XmlHelper(tablefileName);
                try
                {
                    #region 更新数据
                    if (!string.Equals(_beforemodstdFieldInfo.Name, aftermodstdFieldInfo.Name))
                    {
                        XmlNodeList xmlNodeLst = xmltablehelper.Read("datatype/fieldsinfo");
                        for (Int32 i = 0; i < xmlNodeLst.Count; i++)
                        {
                            if (string.Equals(xmlNodeLst[i].ChildNodes.Item(0).InnerText, _beforemodstdFieldInfo.Name))
                            {
                                xmlNodeLst[i].ChildNodes.Item(0).InnerText = aftermodstdFieldInfo.Name;
                            }
                        }
                    }
                    xmltablehelper.Save(false);
                    #endregion
                }
                catch (Exception ex)
                {
                    LogHelper.WriteLog(LogLevel.LOG_LEVEL_CRIT, ex, typeof(FrmModField));
                    MessageDxUtil.ShowError(ex.Message);
                }
                LogHelper.WriteLog(LogLevel.LOG_LEVEL_DEBUG, string.Format("结束变更{0}文件中变更前字段为{1}", tablefileName, _beforemodstdFieldInfo.Name), typeof(FrmModField));
            }
            #endregion

            #region 修改*.entity 字段
            String[] entityfileNames = DirectoryUtil.GetFileNames(@"XML\", "*.entity", true);
            foreach (string entityfileName in entityfileNames)
            {
                LogHelper.WriteLog(LogLevel.LOG_LEVEL_DEBUG, string.Format("开始变更{0}文件中变更前字段为{1}", entityfileName, _beforemodstdFieldInfo.Name), typeof(FrmModField));
                XmlHelper xmlentityhelper = new XmlHelper(entityfileName);
                try
                {
                    #region 更新数据
                    if (!string.Equals(_beforemodstdFieldInfo.Name, aftermodstdFieldInfo.Name))
                    {
                        XmlNodeList xmlNodeLst = xmlentityhelper.Read("datatype/fieldsinfo");
                        for (Int32 i = 0; i < xmlNodeLst.Count; i++)
                        {
                            if (string.Equals(xmlNodeLst[i].ChildNodes.Item(0).InnerText, _beforemodstdFieldInfo.Name))
                            {
                                xmlNodeLst[i].ChildNodes.Item(0).InnerText = aftermodstdFieldInfo.Name;
                            }
                        }
                    }
                    xmlentityhelper.Save(false);
                    #endregion
                }
                catch (Exception ex)
                {
                    LogHelper.WriteLog(LogLevel.LOG_LEVEL_CRIT, ex, typeof(FrmModField));
                    MessageDxUtil.ShowError(ex.Message);
                }
                LogHelper.WriteLog(LogLevel.LOG_LEVEL_DEBUG, string.Format("结束变更{0}文件中变更前字段为{1}", entityfileName, _beforemodstdFieldInfo.Name), typeof(FrmModField));
            }
            #endregion

            #region 修改stdfield.xml文件
            XmlHelper xmlstdfieldhelper = new XmlHelper(@"XML\stdfield.xml");
            try
            {
                #region 更新数据
                if (!string.Equals(_beforemodstdFieldInfo.Name, aftermodstdFieldInfo.Name))
                {
                    xmlstdfieldhelper.Replace(string.Format("datatype/dataitem/item[@gid=\"{0}\"]/name", aftermodstdFieldInfo.Gid), aftermodstdFieldInfo.Name);
                }
                if (!string.Equals(_beforemodstdFieldInfo.ChineseName, aftermodstdFieldInfo.ChineseName))
                {
                    xmlstdfieldhelper.Replace(string.Format("datatype/dataitem/item[@gid=\"{0}\"]/chineseName", aftermodstdFieldInfo.Gid), aftermodstdFieldInfo.ChineseName);
                }
                if (!string.Equals(_beforemodstdFieldInfo.DataType, aftermodstdFieldInfo.DataType))
                {
                    xmlstdfieldhelper.Replace(string.Format("datatype/dataitem/item[@gid=\"{0}\"]/datatype", aftermodstdFieldInfo.Gid), aftermodstdFieldInfo.DataType);
                }
                xmlstdfieldhelper.Save(false);
                #endregion
            }
            catch (Exception ex)
            {
                LogHelper.WriteLog(LogLevel.LOG_LEVEL_CRIT, ex, typeof(FrmModField));
                MessageDxUtil.ShowError(ex.Message);
            }
            #endregion



            this.Close();
        }
        /// <summary>
        /// 回复当前用户的评论
        /// </summary>
        /// <returns></returns>
        public string AddReplyComment()
        {
            int    webCommentId = Convert.ToInt32(context.Request.Form["webCommentId"].ToString());
            string text         = context.Request.Form["text"].ToString();

            if (CRegex.FilterHTML(text) == "")
            {
                rm.Info = "内容不能为空";
                return(jss.Serialize(rm));
            }
            else if (CRegex.FilterHTML(text).Length > 500 || CRegex.FilterHTML(text).Length < 6)
            {
                rm.Info = "回复内容长度在6~500之间";
                return(jss.Serialize(rm));
            }
            else
            {
                string         strIP = WebHelp.GetIP();
                User           user  = UserDal.CurrentUser();//获取当前登陆用户
                List <dbParam> list  = new List <dbParam>()
                {
                    new dbParam()
                    {
                        ParamName = "@ClientIP", ParamValue = strIP
                    },
                    new dbParam()
                    {
                        ParamName = "@UserId", ParamValue = user.UserId
                    }
                };
                #region  一IP,同一当前日期(年月日),可以确定当天回复次数。
                List <WebCommentReply> wcrList = CommentReplyDAL.m_WebCommentReplyDAL.GetList(" ClientIP=@ClientIP and UserId=@UserId", list);
                int count = 0;
                if (wcrList.Count == 0)
                {
                    count = 0;
                }
                else
                {
                    string DateCurrent = string.Format("{0:D}", DateTime.Now);//设置当前日期(年-月-日)
                    foreach (var wcr in wcrList)
                    {
                        if (DateCurrent == string.Format("{0:D}", wcr.CreatedTime))
                        {
                            count++;
                        }
                    }
                }
                #endregion
                //同一用户不能一天超过三次留言
                if (count >= 3)
                {
                    rm.Info = "一天最多只能回复三次";
                    jss.Serialize(rm);
                }
                else
                {
                    if (user.Type < 0)
                    {
                        rm.Info = "只有已登录用户用户才能评论";
                        jss.Serialize(rm);
                    }
                    else
                    {
                        WebCommentReply webComReply = new WebCommentReply();
                        webComReply.WebCommentId     = webCommentId;
                        webComReply.UserId           = user.UserId;
                        webComReply.CommentReplyText = text;
                        webComReply.CreatedTime      = DateTime.Now;
                        webComReply.ClientIP         = WebHelp.GetIP();
                        CommentReplyDAL.m_WebCommentReplyDAL.Add(webComReply);

                        rm.Success = true;
                        rm.Info    = "评论成功";
                    }
                }
            }

            return(jss.Serialize(rm));
        }