?? discussutility.cs
字號:
namespace ASPNET.StarterKit.Communities.Discuss {
using System;
using System.Collections;
using System.Data;
using System.Data.SqlClient;
//*********************************************************************
//
// DiscussUtility Class
//
// Contains static methods for working with threads and posts in the
// discuss module.
//
//*********************************************************************
public class DiscussUtility {
//*********************************************************************
//
// AddPost Method
//
// Adds a new post to the database.
//
//*********************************************************************
public static int AddPost
(
string username,
int sectionID,
int topicID,
string title,
int moderationStatus,
bool isPinned,
bool isAnnouncement,
bool isLocked,
string bodyText
) {
// Create brief description
string briefDescription = CommunityGlobals.TruncateWithEllipsis(CommunityGlobals.StripTags(bodyText), 500);
SqlConnection conPortal = new SqlConnection(CommunityGlobals.ConnectionString);
SqlCommand cmdAdd = new SqlCommand( "Community_DiscussAddPost", conPortal);
cmdAdd.CommandType = CommandType.StoredProcedure;
cmdAdd.Parameters.Add("@RETURN_VALUE", SqlDbType.Int).Direction = ParameterDirection.ReturnValue;
cmdAdd.Parameters.Add("@communityID", CommunityGlobals.CommunityID);
cmdAdd.Parameters.Add("@sectionID", sectionID);
cmdAdd.Parameters.Add("@username", username);
cmdAdd.Parameters.Add("@topicID", topicID);
cmdAdd.Parameters.Add("@title", title);
cmdAdd.Parameters.Add("@briefDescription", briefDescription);
cmdAdd.Parameters.Add("@metaDescription", ContentPageUtility.CalculateMetaDescription(briefDescription));
cmdAdd.Parameters.Add("@metaKeys", ContentPageUtility.CalculateMetaKeys(briefDescription));
cmdAdd.Parameters.Add("@moderationStatus", moderationStatus );
cmdAdd.Parameters.Add("@isPinned", isPinned);
cmdAdd.Parameters.Add("@isAnnouncement", isAnnouncement);
cmdAdd.Parameters.Add("@isLocked", isLocked);
cmdAdd.Parameters.Add("@bodyText", SqlDbType.NText);
cmdAdd.Parameters[ "@bodyText" ].Value = bodyText;
conPortal.Open();
cmdAdd.ExecuteNonQuery();
int result = (int)cmdAdd.Parameters["@RETURN_VALUE"].Value;
// Add Search Keys
SearchUtility.AddSearchKeys(conPortal, sectionID, result, title, briefDescription);
conPortal.Close();
return result;
}
//*********************************************************************
//
// AddPostReply Method
//
// Adds a new comment to the database.
//
//*********************************************************************
public static int AddPostReply
(
int contentPageID,
ModerationStatus moderationStatus,
string username,
string title,
string body
) {
SqlConnection conPortal = new SqlConnection(CommunityGlobals.ConnectionString);
SqlCommand cmdAdd = new SqlCommand("Community_DiscussAddReply", conPortal);
cmdAdd.CommandType = CommandType.StoredProcedure;
// Add Parameters
cmdAdd.Parameters.Add("@RETURN_VALUE", SqlDbType.Int).Direction = ParameterDirection.ReturnValue;
cmdAdd.Parameters.Add("@communityID", CommunityGlobals.CommunityID);
cmdAdd.Parameters.Add("@contentPageID", contentPageID);
cmdAdd.Parameters.Add("@moderationStatus", moderationStatus);
cmdAdd.Parameters.Add("@username", username);
cmdAdd.Parameters.Add("@title", title);
cmdAdd.Parameters.Add("@metaDescription", ContentPageUtility.CalculateMetaDescription(body));
cmdAdd.Parameters.Add("@metaKeys", ContentPageUtility.CalculateMetaKeys(body));
cmdAdd.Parameters.Add("@body", SqlDbType.NText);
cmdAdd.Parameters[ "@body" ].Value = body;
conPortal.Open();
cmdAdd.ExecuteNonQuery();
int result = (int)cmdAdd.Parameters["@RETURN_VALUE"].Value;
conPortal.Close();
return result;
}
//*********************************************************************
//
// EditPost Method
//
// Edits an existing post in the database.
//
//*********************************************************************
public static void EditPost
(
int contentPageID,
string username,
int sectionID,
int topicID,
string title,
bool isPinned,
bool isAnnouncement,
bool isLocked,
string bodyText
) {
// Create brief description
string briefDescription = CommunityGlobals.TruncateWithEllipsis(CommunityGlobals.StripTags(bodyText), 500);
SqlConnection conPortal = new SqlConnection(CommunityGlobals.ConnectionString);
SqlCommand cmdAdd = new SqlCommand( "Community_DiscussEditPost", conPortal);
cmdAdd.CommandType = CommandType.StoredProcedure;
cmdAdd.Parameters.Add("@RETURN_VALUE", SqlDbType.Int).Direction = ParameterDirection.ReturnValue;
cmdAdd.Parameters.Add("@communityID", CommunityGlobals.CommunityID);
cmdAdd.Parameters.Add("@contentPageID", contentPageID);
cmdAdd.Parameters.Add("@username", username);
cmdAdd.Parameters.Add("@topicID", topicID);
cmdAdd.Parameters.Add("@title", title);
cmdAdd.Parameters.Add("@briefDescription", briefDescription);
cmdAdd.Parameters.Add("@metaDescription", ContentPageUtility.CalculateMetaDescription(briefDescription));
cmdAdd.Parameters.Add("@metaKeys", ContentPageUtility.CalculateMetaKeys(briefDescription));
cmdAdd.Parameters.Add("@isPinned", isPinned);
cmdAdd.Parameters.Add("@isAnnouncement", isAnnouncement);
cmdAdd.Parameters.Add("@isLocked", isLocked);
cmdAdd.Parameters.Add("@bodyText", SqlDbType.NText);
cmdAdd.Parameters[ "@bodyText" ].Value = bodyText;
conPortal.Open();
cmdAdd.ExecuteNonQuery();
// Edit Search Keys
SearchUtility.EditSearchKeys(conPortal, sectionID, contentPageID, title, briefDescription);
conPortal.Close();
}
//*********************************************************************
//
// GetPosts Method
//
// Gets posts for this section.
//
//*********************************************************************
public static ArrayList GetPosts(string username, int sectionID, int pageSize, int pageIndex, string sortOrder) {
SqlConnection conPortal = new SqlConnection(CommunityGlobals.ConnectionString);
SqlCommand cmdGet = new SqlCommand( "Community_DiscussGetPosts", conPortal);
cmdGet.CommandType = CommandType.StoredProcedure;
cmdGet.Parameters.Add("@communityID", CommunityGlobals.CommunityID);
cmdGet.Parameters.Add("@username", username);
cmdGet.Parameters.Add("@sectionID", sectionID);
cmdGet.Parameters.Add("@pageSize", pageSize);
cmdGet.Parameters.Add("@pageIndex", pageIndex);
cmdGet.Parameters.Add("@sortOrder", sortOrder);
ArrayList colPosts = new ArrayList();
conPortal.Open();
SqlDataReader dr = cmdGet.ExecuteReader();
while (dr.Read())
colPosts.Add(new PostInfo(dr));
conPortal.Close();
return colPosts;
}
//*********************************************************************
//
// GetPostInfo Method
//
// Gets a particular post from the database.
//
//*********************************************************************
public static ContentInfo GetPostInfo(string username, int contentPageID) {
PostInfo _postInfo = null;
SqlConnection conPortal = new SqlConnection(CommunityGlobals.ConnectionString);
SqlCommand cmdGet = new SqlCommand( "Community_DiscussGetPost", conPortal);
cmdGet.CommandType = CommandType.StoredProcedure;
cmdGet.Parameters.Add("@communityID", CommunityGlobals.CommunityID);
cmdGet.Parameters.Add("@username", username);
cmdGet.Parameters.Add("@contentPageID", contentPageID);
conPortal.Open();
SqlDataReader dr = cmdGet.ExecuteReader();
if (dr.Read())
_postInfo = new PostInfo(dr);
conPortal.Close();
return (ContentInfo) _postInfo;
}
private DiscussUtility() {}
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -