コード例 #1
0
        public bool UpdateArticle(string guid, ArticleItem ai, ArticleContentItem aci)
        {
            bool result = false;

            ai.GUID = guid;
            ai.UpdateTime = DateTime.Now;
            var imgs = Utils.PickupImgUrl(aci.ArticleHtml);
            if (imgs.Count > 0)
            {
                ai.ArticleHeadImage = imgs[0];
            }
            else
            {
                ai.ArticleHeadImage = "/Content/Images/logo.png";
            }
            ai.ArticleDescription = Utils.ReplaceHtmlTag(aci.ArticleHtml);

            try
            {
                var conn = MySQLConnectionPool.GetConnection();
                if (guids.Contains(guid))
                {
                    string insertSQL = "Insert Into `ArticleList` (`GUID`,`CreateTime`) values ('" + guid + "','" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "');";
                    conn.Execute(insertSQL);
                    guids.Remove(guid);
                }
                ai.ArticleTypeID = GetTypeID(ai.ArticlePlate, ai.ArticleType);
                string UpdateSql = ai.GetUpdateSQL("GUID", "ArticleList", "CreateTime,ReadCount,CommentCount,Score,Publish");
                QLog.SendLog_Debug(UpdateSql, "ArticleManager");
                conn.Execute(UpdateSql);
                conn.GiveBack();
                _Table[guid] = aci;
                _SE.Commit();
                result = true;
            }
            catch (Exception ex)
            {
                QLog.SendLog_Debug(ex.Message, "ArticleManager");
            }
            return result;
        }
コード例 #2
0
        public string Edit(string id, FormCollection collection)
        {
            dynamic re = new ExpandoObject();
            var cookie = Request.Cookies["Token"];
            if (cookie == null)
            {
                re.success = 0;
                re.Error = "登录失效";
            }
            else
            {
                var acticleItem = new ArticleItem();
                var user = UserManager.Instance.GetUserByToken(cookie.Value);
                var acticleContentItem = new ArticleContentItem();
                TryUpdateModel<ArticleItem>(acticleItem, collection);
                TryUpdateModel<ArticleContentItem>(acticleContentItem, collection);
                acticleItem.Author = user.UserNickName;
                acticleItem.AuthorID = user.GUID;
                acticleContentItem.ArticleHtml = HttpUtility.UrlDecode(acticleContentItem.ArticleHtml);
                acticleContentItem.ArticleMarkdown = HttpUtility.UrlDecode(acticleContentItem.ArticleMarkdown);
                bool result = ArticleManager.Instance.UpdateArticle(id, acticleItem, acticleContentItem);
                re.success = result ? 1 : 0;
                re.UpdateTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
            }

            return JsonConvert.SerializeObject(re);
        }
コード例 #3
0
        public string ImportArticle(HttpPostedFileBase ArticleFile)
        {
            int count = 0;
            try
            {
                string fileName = DateTime.Now.ToString("yyyyMMddHHmmssfff_") + ArticleFile.FileName;
                string filePhysicalPath = Server.MapPath("~/Attribute/" + fileName);
                ArticleFile.SaveAs(filePhysicalPath);
                Qing.QLog.SendLog(filePhysicalPath);
                FileStream stream = System.IO.File.Open(filePhysicalPath, FileMode.Open, FileAccess.Read);
                IExcelDataReader excelReader = ExcelReaderFactory.CreateOpenXmlReader(stream);
                Qing.QLog.SendLog("--1");

                excelReader.IsFirstRowAsColumnNames = true;
                DataSet ds = excelReader.AsDataSet();
                if (ds == null)
                {
                    Qing.QLog.SendLog("ds Is Null");
                    return "ds Is Null";
                }

                DataTable result = excelReader.AsDataSet().Tables[0];
                for (int i = 0; i < result.Rows.Count; i++)
                {
                    DataRow dr = result.Rows[i];
                    ArticleItem ai = new ArticleItem();
                    ai.GUID = ArticleManager.Instance.GetArticleGUID();

                    ai.ArticleDescription = Utils.ReplaceHtmlTag(dr["文档类容"].ToString());
                    ai.ArticleHeadImage = "/Content/Images/logo.png";
                    ai.ArticlePlate = dr["板块名称"].ToString().Trim();
                    ai.ArticleTags = dr["文档标签"].ToString().Trim();
                    ai.ArticleTitle = dr["文档标题"].ToString().Trim();
                    ai.ArticleType = dr["类别名称"].ToString().Trim();
                    ai.ArticleTypeID = ArticleManager.Instance.GetOrCreateTypeID(ai.ArticlePlate, ai.ArticleType);
                    ai.Author = dr["文档作者姓名"].ToString().Trim();
                    ai.AuthorID = UserManager.Instance.GetUserByUserName(ai.Author);
                    ai.CreateTime = DateTime.Now;
                    ArticleContentItem aci = new ArticleContentItem();
                    aci.ArticleHtml = HttpUtility.UrlDecode(dr["文档类容"].ToString().Trim().Replace("\n", "<br/>"));
                    aci.ArticleMarkdown = "";
                    ArticleManager.Instance.UpdateArticle(ai.GUID, ai, aci);
                    count++;
                }

                //var excelFile = new ExcelQueryFactory(filepath);
                //var data = excelFile.Worksheet<ImportArticleItem>();
                //count = data.Count();
                //foreach (var item in data)
                //{
                //    ArticleItem ai = new ArticleItem();
                //    ai.GUID = ArticleManager.Instance.GetArticleGUID();
                //    ai.ArticleDescription = Utils.ReplaceHtmlTag(item.文档类容);
                //    ai.ArticleHeadImage = "/Content/Images/logo.png";
                //    ai.ArticlePlate = item.板块名称.Trim();
                //    ai.ArticleTags = item.文档标签.Trim();
                //    ai.ArticleTitle = item.文档标题.Trim();
                //    ai.ArticleType = item.类别名称.Trim();
                //    ai.ArticleTypeID = ArticleManager.Instance.GetOrCreateTypeID(ai.ArticlePlate, ai.ArticleType);
                //    ai.Author = item.文档作者姓名.Trim();
                //    ai.AuthorID = UserManager.Instance.GetUserByUserName(ai.Author);
                //    ai.CreateTime = DateTime.Now;
                //    ArticleContentItem  aci=new ArticleContentItem ();
                //    aci.ArticleHtml= HttpUtility.UrlDecode(item.文档类容.Trim().Replace("\n","<br/>"));
                //    aci.ArticleMarkdown="";
                //    ArticleManager.Instance.UpdateArticle(ai.GUID, ai, aci);
                //}

            }
            catch (Exception ex)
            {

                Qing.QLog.SendLog(ex.ToString());
                return "导入出错:" + ex.Message;
            }

            return "导入成功 共" + count + "条";
        }