private static ForumSearchInfo PopulateForumSearchInfo(SqlDataReader dr) { ForumSearchInfo forumSearchInfo = new ForumSearchInfo(); forumSearchInfo.Alias = Convert.ToString(dr["Alias"]); forumSearchInfo.PostDate = Convert.ToDateTime(dr["PostDate"]); forumSearchInfo.PostID = Convert.ToInt32(dr["PostID"]); forumSearchInfo.RecordCount = Convert.ToInt32(dr["RecordCount"]); forumSearchInfo.Subject = Convert.ToString(dr["Subject"]); return(forumSearchInfo); }
public static ForumSearchInfoCollection GetForumSearchResults(string searchTerms, int forumID, int pageSize, int pageIndex) { // Construct WHERE clause for search string whereClause = " AND ("; string[] termsAnd = null; termsAnd = searchTerms.Split(' '); whereClause += "Body LIKE '%" + string.Join("%' AND Body LIKE '%", termsAnd) + "%'"; whereClause += ") "; // Limit to just one forum if required whereClause += " AND WS_Threads.ForumID = " + forumID.ToString() + " "; // Execute stored procedure SqlConnection conn = new SqlConnection(System.Configuration.ConfigurationManager.AppSettings["RiversideInternetForumsConnectionString"]); SqlCommand cmd = new SqlCommand("WS_GetForumSearchResults", conn); // Populate parameters cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.Add("@WhereClause", SqlDbType.NVarChar, 500); cmd.Parameters.Add("@PageSize", SqlDbType.Int, 4); cmd.Parameters.Add("@PageIndex", SqlDbType.Int, 4); cmd.Parameters[0].Value = whereClause; cmd.Parameters[1].Value = pageSize; cmd.Parameters[2].Value = pageIndex; conn.Open(); ForumSearchInfoCollection forumSearchInfoCollection = new ForumSearchInfoCollection(); SqlDataReader dr = cmd.ExecuteReader(); while (dr.Read()) { ForumSearchInfo forumSearchInfo = PopulateForumSearchInfo(dr); forumSearchInfoCollection.Add(forumSearchInfo); } dr.Close(); conn.Close(); return(forumSearchInfoCollection); }
private static ForumSearchInfo PopulateForumSearchInfo(SqlDataReader dr) { ForumSearchInfo forumSearchInfo = new ForumSearchInfo(); forumSearchInfo.Alias = Convert.ToString(dr["Alias"]); forumSearchInfo.PostDate = Convert.ToDateTime(dr["PostDate"]); forumSearchInfo.PostID = Convert.ToInt32(dr["PostID"]); forumSearchInfo.RecordCount = Convert.ToInt32(dr["RecordCount"]); forumSearchInfo.Subject = Convert.ToString(dr["Subject"]); return forumSearchInfo; }