public bool SaveSpaceComment(SpaceCommentInfo spacecomments) { //try //{ IDataParameter[] prams = { DbHelper.MakeInParam("@commentid", (DbType)SqlDbType.Int, 4,spacecomments.CommentID), DbHelper.MakeInParam("@postid", (DbType)SqlDbType.Int, 4,spacecomments.PostID), DbHelper.MakeInParam("@author", (DbType)SqlDbType.NVarChar, 50,spacecomments.Author), DbHelper.MakeInParam("@email", (DbType)SqlDbType.NVarChar, 100,spacecomments.Email), DbHelper.MakeInParam("@url", (DbType)SqlDbType.NVarChar, 255,spacecomments.Url), DbHelper.MakeInParam("@ip", (DbType)SqlDbType.VarChar, 100,spacecomments.Ip), DbHelper.MakeInParam("@postdatetime", (DbType)SqlDbType.SmallDateTime, 4,spacecomments.PostDateTime), DbHelper.MakeInParam("@content", (DbType)SqlDbType.NText, 0,spacecomments.Content), DbHelper.MakeInParam("@parentid", (DbType)SqlDbType.Int, 4,spacecomments.ParentID), DbHelper.MakeInParam("@posttitle", (DbType)SqlDbType.NVarChar, 60,spacecomments.PostTitle), DbHelper.MakeInParam("@uid", (DbType)SqlDbType.Int, 4,spacecomments.Uid) }; string sqlstring = String.Format("UPDATE [" + BaseConfigs.GetTablePrefix + "spacecomments] Set [postid] = @postid, [author] = @author, [email] = @email, [url] = @url, [ip] = @ip, [postdatetime] = @postdatetime, [content] = @content, [parentid] = @parentid, [uid] = @uid, [posttitle]=@posttile WHERE [commentid] = @commentid"); DbHelper.ExecuteNonQuery(CommandType.Text, sqlstring, prams); return true; //} //catch (Exception ex) //{ // errormsg = Globals.TransferSqlErrorInfo(ex.Message); // return false; //} }
/// <summary> /// 获取评论对象数组 /// </summary> /// <param name="dt"></param> /// <returns></returns> public static SpaceCommentInfo[] GetSpaceCommentInfo (DataTable dt) { if(dt == null || dt.Rows.Count == 0) return null; SpaceCommentInfo[] spacecommentsinfoarray = new SpaceCommentInfo[dt.Rows.Count]; for(int i = 0 ; i < dt.Rows.Count ; i++) { spacecommentsinfoarray[i] = new SpaceCommentInfo(); spacecommentsinfoarray[i].CommentID = TypeConverter.ObjectToInt(dt.Rows[i]["commentid"]); spacecommentsinfoarray[i].PostID = TypeConverter.ObjectToInt(dt.Rows[i]["postid"]); spacecommentsinfoarray[i].Author = dt.Rows[i]["author"].ToString(); spacecommentsinfoarray[i].Email = dt.Rows[i]["email"].ToString(); spacecommentsinfoarray[i].Url = dt.Rows[i]["url"].ToString(); spacecommentsinfoarray[i].Ip = dt.Rows[i]["ip"].ToString(); spacecommentsinfoarray[i].PostDateTime = Convert.ToDateTime(dt.Rows[i]["postdatetime"]); spacecommentsinfoarray[i].Content = dt.Rows[i]["content"].ToString(); spacecommentsinfoarray[i].ParentID = TypeConverter.ObjectToInt(dt.Rows[i]["parentid"]); spacecommentsinfoarray[i].Uid = TypeConverter.ObjectToInt(dt.Rows[i]["uid"]); spacecommentsinfoarray[i].PostTitle = dt.Rows[i]["posttitle"].ToString(); } dt.Dispose(); return spacecommentsinfoarray; }
/// <summary> /// 获取单个评论对象 /// </summary> /// <param name="__idatareader"></param> /// <returns></returns> public static SpaceCommentInfo GetSpaceCommentInfo (IDataReader idatareader) { if(idatareader == null) return null; if(idatareader.Read()) { SpaceCommentInfo spacecommentsinfo = new SpaceCommentInfo(); spacecommentsinfo.CommentID = TypeConverter.ObjectToInt(idatareader["commentid"]); spacecommentsinfo.PostID = TypeConverter.ObjectToInt(idatareader["postid"]); spacecommentsinfo.Author = idatareader["author"].ToString(); spacecommentsinfo.Email = idatareader["email"].ToString(); spacecommentsinfo.Url = idatareader["url"].ToString(); spacecommentsinfo.Ip = idatareader["ip"].ToString(); spacecommentsinfo.PostDateTime = Convert.ToDateTime(idatareader["postdatetime"]); spacecommentsinfo.Content = idatareader["content"].ToString(); spacecommentsinfo.ParentID = TypeConverter.ObjectToInt(idatareader["parentid"]); spacecommentsinfo.Uid = TypeConverter.ObjectToInt(idatareader["uid"]); spacecommentsinfo.PostTitle = idatareader["posttitle"].ToString(); idatareader.Close(); return spacecommentsinfo; } else { idatareader.Close(); return null; } }
public bool AddSpaceComment(SpaceCommentInfo spacecomments) { DbParameter[] parms = { DbHelper.MakeInParam("@postid", (DbType)SqlDbType.Int, 4,spacecomments.PostID), DbHelper.MakeInParam("@author", (DbType)SqlDbType.NVarChar, 50,spacecomments.Author), DbHelper.MakeInParam("@email", (DbType)SqlDbType.NVarChar, 100,spacecomments.Email), DbHelper.MakeInParam("@url", (DbType)SqlDbType.NVarChar, 255,spacecomments.Url), DbHelper.MakeInParam("@ip", (DbType)SqlDbType.VarChar, 100,spacecomments.Ip), DbHelper.MakeInParam("@postdatetime", (DbType)SqlDbType.SmallDateTime, 4,spacecomments.PostDateTime), DbHelper.MakeInParam("@content", (DbType)SqlDbType.NText, 0,spacecomments.Content), DbHelper.MakeInParam("@parentid", (DbType)SqlDbType.Int, 4,spacecomments.ParentID), DbHelper.MakeInParam("@posttitle", (DbType)SqlDbType.NVarChar, 60,spacecomments.PostTitle), DbHelper.MakeInParam("@uid", (DbType)SqlDbType.Int, 4,spacecomments.Uid) }; string commandText = string.Format("INSERT INTO [{0}spacecomments] ( [postid], [author], [email], [url], [ip], [postdatetime], [content], [parentid], [uid],[posttitle] ) VALUES ( @postid, @author, @email, @url, @ip, @postdatetime, @content, @parentid, @uid, @posttitle)", BaseConfigs.GetTablePrefix); DbHelper.ExecuteNonQuery(CommandType.Text, commandText, parms); return true; }
private void Submit_CategoryInfo() { if (!OnlineUsers.CheckUserVerifyCode(olid, DNTRequest.GetString("vcode"))) { completeinfo = "验证码错误,请重新输入"; return; } if (commentcontent == "") { completeinfo = "请输入评论内容"; return; } SpacePostInfo __spacepostinfo = BlogProvider.GetSpacepostsInfo(Space.Data.DbProvider.GetInstance().GetSpacePost(postid)); if (__spacepostinfo.CommentStatus == 1) { completeinfo = "当前日志不允许评论"; return; } if ((__spacepostinfo.CommentStatus == 2)&&(userid < 1)) { completeinfo = "当前日志仅允许注册用户评论"; return; } SpaceCommentInfo __spacecommentinfo = new SpaceCommentInfo(); __spacecommentinfo.PostID = postid; __spacecommentinfo.Author = Utils.HtmlEncode(commentauthor != ""?commentauthor:"匿名"); __spacecommentinfo.Email = Utils.HtmlEncode(commentemail); __spacecommentinfo.Url = commenturl; __spacecommentinfo.Ip = DNTRequest.GetIP(); __spacecommentinfo.PostDateTime = DateTime.Now; __spacecommentinfo.Content = Utils.HtmlEncode(ForumUtils.BanWordFilter(commentcontent)); __spacecommentinfo.ParentID = 0; __spacecommentinfo.Uid = (commentauthor == username) ? userid: -1; __spacecommentinfo.PostTitle = Utils.HtmlEncode(ForumUtils.BanWordFilter(__spacepostinfo.Title)); Space.Data.DbProvider.GetInstance().AddSpaceComment(__spacecommentinfo); Space.Data.DbProvider.GetInstance().CountUserSpaceCommentCountByUserID(__spacepostinfo.Uid, 1); Space.Data.DbProvider.GetInstance().CountSpaceCommentCountByPostID(postid, 1); if (DNTRequest.GetString("notice") == "true") SendSpaceCommentNotice(__spacecommentinfo); }
/// <summary> /// 日志评论通知 /// </summary> /// <param name="commentinfo">日志评论信息</param> public void SendSpaceCommentNotice(SpaceCommentInfo commentinfo) { //要回复的用户id int replyuserid = DNTRequest.GetInt("userid", 0); //当日志有效时 if (commentinfo.PostID > 0) { SpacePostInfo __spacepostsinfo = BlogProvider.GetSpacepostsInfo(Space.Data.DbProvider.GetInstance().GetSpacePost(commentinfo.PostID)); //当日志有效时 if (__spacepostsinfo != null) { NoticeInfo __noticeinfo = new NoticeInfo(); __noticeinfo.Type = NoticeType.SpaceCommentNotice; __noticeinfo.New = 1; __noticeinfo.Posterid = commentinfo.Uid; __noticeinfo.Poster = commentinfo.Author; __noticeinfo.Postdatetime = Utils.GetDateTime(); //当回复人与评论作者不是同一人时,则向评论作者发送通知 if (__noticeinfo.Posterid != replyuserid && replyuserid > 0) { __noticeinfo.Note = Utils.HtmlEncode(string.Format("<a href=\"userinfo.aspx?userid={0}\">{1}</a> 回复了您的日志信息 <a href =\"viewspacepost.aspx?postid={3}\">{4}</a>.", commentinfo.Uid, commentinfo.Author, config.Spacename, commentinfo.PostID, __spacepostsinfo.Title)); __noticeinfo.Uid = replyuserid; Notices.CreateNoticeInfo(__noticeinfo); } //当上面通知的用户与该空间日志作者不同,则还要向主题作者发通知 if (__noticeinfo.Posterid != __spacepostsinfo.Uid && __spacepostsinfo.Uid > 0) { __noticeinfo.Note = Utils.HtmlEncode(string.Format("<a href=\"userinfo.aspx?userid={0}\">{1}</a> 评论了您的{2}日志 <a href =\"viewspacepost.aspx?postid={3}\">{4}</a>.", commentinfo.Uid, commentinfo.Author, config.Spacename, commentinfo.PostID, __spacepostsinfo.Title)); __noticeinfo.Uid = __spacepostsinfo.Uid; Notices.CreateNoticeInfo(__noticeinfo); } } } }