public PostSearchResults SearchPosts(int portalId, int moduleId, int userId, string forumIds, string searchText, int rowIndex, int maxRows, string searchId, SettingsInfo mainSettings) { int searchIdValue; int.TryParse(searchId, out searchIdValue); var result = new PostSearchResults(); if (!string.IsNullOrWhiteSpace(forumIds)) { forumIds = forumIds.Replace(';', ':'); } var ds = ActiveForums.DataProvider.Instance().Search(portalId, moduleId, userId, searchIdValue, rowIndex, maxRows, searchText, 0, 0, 0, 0, null, forumIds, null, 1, 0, 1, mainSettings.FullText); if (ds.Tables.Count > 2) { return(null); } var dtSummary = ds.Tables[0]; var dtResults = ds.Tables[1]; result.SearchId = dtSummary.Rows[0].GetInt("SearchId"); result.TotalPosts = dtSummary.Rows[0].GetInt("TotalRecords"); result.Topics = new List <ForumPost>(dtResults.Rows.Count); foreach (var row in dtResults.AsEnumerable()) { ((List <ForumPost>)result.Topics).Add(new ForumPost { ForumId = row.GetInt("ForumId"), ForumName = row.GetString("ForumName"), TopicId = row.GetInt("TopicId"), ReplyId = row.GetInt("ReplyId"), ContentId = row.GetInt("ContentId"), Subject = row.GetString("Subject"), PostSubject = row.GetString("PostSubject"), Summary = row.GetString("Summary"), AuthorId = row.GetInt("AuthorId"), AuthorName = row.GetString("AuthorName"), UserName = row.GetString("AuthorUserName"), FirstName = row.GetString("AuthorFirstName"), LastName = row.GetString("AuthorLastName"), DisplayName = row.GetString("AuthorDisplayName"), Body = row.GetString("Body"), DateCreated = row.GetDateTime("DateCreated"), DateUpdated = row.GetDateTime("DateCreated") }); } return(result); }
public PostSearchResults SearchPosts(int portalId, int moduleId, int userId, string forumIds, string searchText, int rowIndex, int maxRows, string searchId, SettingsInfo mainSettings) { int searchIdValue; int.TryParse(searchId, out searchIdValue); var result = new PostSearchResults(); if (!string.IsNullOrWhiteSpace(forumIds)) forumIds = forumIds.Replace(';', ':'); var ds = ActiveForums.DataProvider.Instance().Search(portalId, moduleId, userId, searchIdValue, rowIndex, maxRows, searchText, 0, 0, 0, 0, null, forumIds, null, 1, 0, 1, mainSettings.FullText); if (ds.Tables.Count > 2) return null; var dtSummary = ds.Tables[0]; var dtResults = ds.Tables[1]; result.SearchId = dtSummary.Rows[0].GetInt("SearchId"); result.TotalPosts = dtSummary.Rows[0].GetInt("TotalRecords"); result.Topics = new List<ForumPost>(dtResults.Rows.Count); foreach (var row in dtResults.AsEnumerable()) { ((List<ForumPost>)result.Topics).Add(new ForumPost { ForumId = row.GetInt("ForumId"), ForumName = row.GetString("ForumName"), TopicId = row.GetInt("TopicId"), ReplyId = row.GetInt("ReplyId"), ContentId = row.GetInt("ContentId"), Subject = row.GetString("Subject"), PostSubject = row.GetString("PostSubject"), Summary = row.GetString("Summary"), AuthorId = row.GetInt("AuthorId"), AuthorName = row.GetString("AuthorName"), UserName = row.GetString("AuthorUserName"), FirstName = row.GetString("AuthorFirstName"), LastName = row.GetString("AuthorLastName"), DisplayName = row.GetString("AuthorDisplayName"), Body = row.GetString("Body"), DateCreated = row.GetDateTime("DateCreated"), DateUpdated = row.GetDateTime("DateCreated") }); } return result; }