public static void InsertArticle(int blogId, int parentId, string blogName, string loginName) { bool result = false; //int count = SelectArticle(parentId); //if (count > 0) //{ // DelArticle(parentId); //} DataTable dt = new DataTable(); DataConnection dc = new DataConnection(); string sql = "select EndArticleId from DataTransfer where UserName='******'"; int endArticleId = Int32.Parse(dc.GetField(sql)); try { sql = "select * from ra_bgArticle where BlogID=" + blogId + " and id>" + endArticleId + " order by ID"; dt = dc.FillDataTable(sql); foreach (DataRow dr in dt.Rows) { int articleId = Convert.ToInt32(dr["ID"]); int bLogId = Convert.ToInt32(dr["BlogID"]); string title = Convert.ToString(dr["Title"]); string tags = Convert.ToString(dr["Tag"]); string body = Convert.ToString(dr["Body"]); int categoryId = Convert.ToInt32(dr["CategoryId"]);//分类 int channelId = Convert.ToInt32(dr["ChannelId"]);//频道 例如10006 string excerpt = Convert.ToString(dr["Excerpt"]);//摘要 summary string authorName = Convert.ToString(dr["AuthorName"]); string sourceName = Convert.ToString(dr["SourceName"]); string sourceUrl = Convert.ToString(dr["SourceUrl"]); string coverUrl = Convert.ToString(dr["CoverUrl"]); DateTime postTime = Convert.ToDateTime(dr["PostTime"]); DateTime updateTime = Convert.ToDateTime(dr["UpdateTime"]); string urlTime = updateTime.ToString("yyyy/MM/dd"); //将读取到的数据逐条插入postgresql数据库 Article article = new Article();//2147483729 //pgArticleId = ArticleManage.GetId(); article.Id = GetId(); //东方博客2012年度奖项名单 article.Title = title; article.Content =Untils.GetHtml(body); article.Publish_Time = postTime; article.Create_Time = postTime; //article.Source_Name = sourceName; article.Modify_Time = updateTime; if (Untils.GetHtmlImageUrlList(body).Length == 0) { article.Image_Url = Untils.GetHtmlImageUrl(coverUrl); } else { article.Image_Url = !string.IsNullOrEmpty(coverUrl) ? Untils.GetHtmlImageUrl(coverUrl) : Untils.GetHtmlImageUrlList(body)[0]; } if (!string.IsNullOrEmpty(coverUrl) || Untils.GetHtmlImageUrlList(body).Length > 0) { article.Has_Picture = true; } else { article.Has_Picture = false; } article.Images = Untils.GetHtmlImageUrlList(body); //article.Summary = Untils.NoHTML(body); article.Summary = Untils.NoHTML(body).Length > 140 ? Untils.NoHTML(body).Substring(0, 140) : Untils.NoHTML(body); //article.Source_Art_Id = parentId; //article.Source_Url = "http://" + blogName + ".blog2.cnool.net/Article/" + urlTime + "/" + articleId + ".html"; article.Url = "http://blog.cnool.net/article/" + article.Id + ".html"; article.Industry_Id = 10040; article.Industry_Name = "博客"; article.Unit_Id = parentId; article.Comments = 0; article.Status = 0; article.Is_Publish = true; article.Syn_Weixin = false; article.Media_Id = null; article.Creater_Id = 0; article.Creater = authorName; //article.Is_Del = false; //article.Del_Time = DateTime.Parse("1970-1-1"); //article.Source_cate_id = 0; string[] SearchkeyList = Untils.ConvertToSearchkey(tags); //每个tag不能超过20个字 article.Tags = SearchkeyList; article.Search_Tags = SearchkeyList; if (SearchkeyList != null) { //关键词转tag入库 0 foreach (string tag in SearchkeyList) { ArticleManage.CreateAticleTag(article.Id, tag, 0); } } //获取Comment评论表的数据 sql = "select * from ra_pbComment where ParentID=" + articleId; dt = dc.FillDataTable(sql); if (dt!=null) { article.Comments = dt.Rows.Count; } List<Comment> list = new List<Comment>(); foreach (DataRow dr_comment in dt.Rows) { int parentID = Convert.ToInt32(dr_comment["ParentID"]); string body_comment = Convert.ToString(dr_comment["Body"]); string authorName_comment = Convert.ToString(dr_comment["AuthorName"]); DateTime addTime = Convert.ToDateTime(dr_comment["AddTime"]); string authorIP = Convert.ToString(dr_comment["AuthorIP"]); DateTime updateTime_comment = Convert.ToDateTime(dr_comment["UpdateTime"]); //将读取到的数据逐条插入postgresql数据库 Comment comment = new Comment(); comment.article_id = article.Id; comment.comm_content = body_comment; comment.comm_username = authorName_comment; comment.comm_time = addTime; comment.ip = authorIP; comment.is_valid = true; comment.forum_topicid = 0; comment.forum_threadid = 0; comment.modify_time = updateTime_comment; list.Add(comment); } result = CreateArticle(article, list); if (result) { //插入用户最后操作的Article的ID sql = "update DataTransfer set EndArticleId=" + articleId + " where UserName='******'"; dc.ExeSql(sql); } else { Untils.WriteProgramLog(loginName + " 导入Article数据失败!"); } } //return result; } catch (Exception e) { Untils.WriteProgramLog("something wrong in A method: " + e.Message); throw; } }
static void Main(string[] args) { //string a="<img src=\"/uploads/2016editor/5/31/11/4b1a48f0-8608-49c6-86be-6a7aaeb6c67f.jpg\" alt=\"\" /></span></p><p><span style=\"font-size:16px;\"><img src=\"/uploads/2016editor/5/31/11/cac9b691-0ffc-4cc9-a030-f2273d4c6884.jpg\" alt=\"\" />"; //delete(); //Untils.GetHtml(a); //return; //selectMember(); //string a = string.Empty; ; //Untils.GetHtmlImageUrl(a); //delete(10593); //string a = "测试啊<p><img src='/dadt/yndt/201103/W020110322380977845026.jpg'><img src='http://blog2.cnool.net/dadt/yndt/201103/W020110322380977845026.jpg'></p><img src='/dadt/yndt/201103/W020110322380977845026.jpg'>"; //Untils.GetHtml(a); //string[] b = new string[] { "/dadt/yndt/201103/w020110322380977845026.jpg", "/dadt/yndt/201103.jpg" }; //string a = "<p><img src='/dadt/W020110322380977845026.jpg' alt='' /></p><p><img src='/dadt/yndt/201103/W020110322380977845026.jpg'/></p><img src='http://cnool.net/dadt/yndt/201103/W0201103223809778450262.jpg'/>"; //string sw = Untils.GetHtml(a); string username = string.Empty; string blogName = string.Empty; string sql = string.Empty; int status = 0; string loginName = string.Empty; int userId = 0; try { DataTable dt = new DataTable(); DataConnection dc = new DataConnection(); sql = "select * from DataTransfer where Status=0 "; dt = dc.FillDataTable(sql); if (dt == null || dt.Rows.Count == 0) { Console.WriteLine("没有记录"); return; } else { foreach (DataRow dr in dt.Rows) { username = Convert.ToString(dr["UserName"]); string realName = Convert.ToString(dr["RealName"]); string ip = Convert.ToString(dr["IP"]); status = Convert.ToInt32(dr["Status"]); //获取Member用户表的数据 sql = "select * from ra_pbMember where LoginName= '" + username + "'"; //dt = dc.FillDataTable(sql); DataRow drMember = dc.FillDataRow(sql); userId = Convert.ToInt32(drMember["ID"]); loginName = Convert.ToString(drMember["LoginName"]); string face = Convert.ToString(drMember["Face"]); Admin admin = new Admin(); admin.username = loginName; admin.realname = realName; admin.create_time = DateTime.Now; admin.last_login_ip = ip; admin.roles_name = "单元运营者"; string[] SearchkeyList = Untils.ConvertToSearchkey("单元运营者"); admin.role_name_list = SearchkeyList; admin.isvalid = true; admin.role_list = Array.ConvertAll <string, int>(Untils.ConvertToSearchkey(Convert.ToString(Convert.ToString(10002))), s => int.Parse(s));//string[]转化int[] var adminInfo = AdminManage.getAdminByName(loginName); bool result = false; if (adminInfo == null) { result = AdminManage.CreateAdmin(admin); } else { Untils.WriteProgramLog(loginName + " 已存在!"); result = true; } if (result) { result = UnitManage.InsertUnit(userId, loginName, face); if (result) { sql = "update DataTransfer set Status=1 where UserName='******'"; dc.ExeSql(sql); Untils.WriteProgramLog(loginName + " 导入数据成功!"); } else { Untils.WriteProgramLog(loginName + " 导入数据失败!"); } } else { Untils.WriteProgramLog(loginName + " 导入Admin数据失败!"); } } } } catch (Exception e) { Untils.WriteProgramLog("something wrong in A method: " + e.Message); throw; } }