public override UserIPLogCollection GetUserIPLogsByIP(string IP, int pageNumber, int pageSize, out int total) { total = 0; using (SqlQuery query = new SqlQuery()) { query.Pager.IsDesc = true; query.Pager.PageNumber = pageNumber; query.Pager.PageSize = pageSize; query.Pager.SelectCount = true; query.Pager.TableName = "[bx_IPLogs]"; query.Pager.SortField = "[LogID]"; query.Pager.Condition = " LogID in(SELECT Max(LogID) FROM [bx_IPLogs] WHERE NewIP = @IP GROUP BY UserID) "; query.Pager.AfterExecute = "SELECT * FROM bx_BannedUsers WHERE UserID in(SELECT UserID FROM [bx_IPLogs] WHERE NewIP = @IP GROUP BY UserID)"; //query.CommandText = "SELECT * FROM [bx_IPLogs] LEFT JOIN bx_BannedUsers ON bx_BannedUsers.UserID=bx_IPLogs.UserID WHERE NewIP=@IP"; query.CreateParameter <string>("@IP", IP, SqlDbType.VarChar, 50); using (XSqlDataReader reader = query.ExecuteReader()) { UserIPLogCollection collection = new UserIPLogCollection(reader); if (reader.NextResult()) { while (reader.Read()) { total = reader.GetInt32(0); } } if (reader.NextResult()) { while (reader.Read()) { int userID = reader.Get <int>("UserID"); int forumID = reader.Get <int>("ForumID"); foreach (UserIPLog log in collection) { if (log.UserID == userID) { log.BannedForumID = forumID; } } } } return(collection); } } }
public override BanUserOperationCollection GetBanUserLogsByUserID(int userid) { using (SqlQuery query = new SqlQuery()) { query.CommandText = @" SELECT * FROM bx_BanUserLogs WHERE UserID = @userid ORDER BY OperationTime DESC; SELECT * FROM bx_BanUserLogForumInfos WHERE LogID IN(SELECT LogID FROM bx_BanUserLogs WHERE UserID = @userid) ORDER BY LogID DESC;"; query.CreateParameter <int>("@userid", userid, SqlDbType.Int); using (XSqlDataReader reader = query.ExecuteReader()) { BanUserOperationCollection collection = new BanUserOperationCollection(reader); BanUserOperation operation = null; if (reader.NextResult()) { while (reader.Next) { BanForumInfo foruminfo = new BanForumInfo(reader); if (operation != null && foruminfo.ID == operation.ID) { operation.ForumInfoList.Add(foruminfo); } else { operation = collection.GetValue(foruminfo.ID); operation.ForumInfoList.Add(foruminfo); } } } return(collection); } } }
/// <summary> /// 高级搜索 /// </summary> public override NotifyCollection AdminGetNotifiesBySearch(AdminNotifyFilter notifyFilter, int pageNumber, IEnumerable <Guid> excludeRoleIds) { using (SqlQuery query = new SqlQuery()) { StringBuilder condition = FilterToCondition(query, notifyFilter); string exlcludeUserIDs = DaoUtil.GetExcludeRoleSQL("UserID", excludeRoleIds, query); if (!string.IsNullOrEmpty(exlcludeUserIDs)) { condition.Append(" AND " + exlcludeUserIDs); } query.Pager.IsDesc = true; query.Pager.TableName = "[bx_Notify]"; query.Pager.SortField = "[NotifyID]"; query.Pager.PageNumber = pageNumber; query.Pager.PageSize = notifyFilter.PageSize; query.Pager.SelectCount = true; query.Pager.Condition = condition.ToString(); using (XSqlDataReader reader = query.ExecuteReader()) { NotifyCollection notifies = new NotifyCollection(reader); if (reader.NextResult()) { if (reader.Read()) { notifies.TotalRecords = reader.Get <int>(0); } } return(notifies); } } }
public override Dictionary <int, DiskDirectoryCollection> GetParentDirectories(int userID, int directoryID) { Dictionary <int, DiskDirectoryCollection> menuDirectories = new Dictionary <int, DiskDirectoryCollection>(); int parentID = directoryID; using (SqlQuery query = new SqlQuery()) { query.CommandText = "bx_GetCurrentAndParentDirectories"; query.CommandType = CommandType.StoredProcedure; query.CreateParameter("@UserID", userID, SqlDbType.Int); query.CreateParameter("@DirectoryID", directoryID, SqlDbType.Int); using (XSqlDataReader reader = query.ExecuteReader()) { do { DiskDirectoryCollection directories = new DiskDirectoryCollection(reader); if (directories.Count != 0) { parentID = directories[0].ParentID; if (!menuDirectories.ContainsKey(parentID)) { menuDirectories.Add(parentID, directories); } } }while (reader.NextResult()); } } return(menuDirectories); }
/// <summary> /// 获取所有标签 /// </summary> public override TagCollection GetAllTags(int pageNumber, int pageSize, ref int?count) { using (SqlQuery query = new SqlQuery()) { query.Pager.TableName = "bx_Tags"; query.Pager.SortField = "ID"; query.Pager.PageNumber = pageNumber; query.Pager.PageSize = pageSize; query.Pager.TotalRecords = count; query.Pager.IsDesc = true; query.Pager.SelectCount = true; using (XSqlDataReader reader = query.ExecuteReader()) { TagCollection tags = new TagCollection(reader); if (count == null && reader.NextResult()) { if (reader.Read()) { count = reader.Get <int>(0); } } return(tags); } } }
/// <summary> /// 获取标签 /// </summary> public override TagCollection GetMostTags(bool isLock, int pageNumber, int pageSize, ref int?count) { using (SqlQuery query = new SqlQuery()) { query.Pager.TableName = "bx_Tags"; query.Pager.SortField = "ID"; query.Pager.PageNumber = pageNumber; query.Pager.PageSize = pageSize; query.Pager.TotalRecords = count; query.Pager.IsDesc = true; query.Pager.SelectCount = true; query.Pager.Condition = "[IsLock] = @IsLock"; query.CreateParameter <bool>("@IsLock", isLock, SqlDbType.Bit); using (XSqlDataReader reader = query.ExecuteReader()) { TagCollection tags = new TagCollection(reader); if (count == null && reader.NextResult()) { if (reader.Read()) { count = reader.Get <int>(0); } } return(tags); } } }
public override List <Website> GetWebsites(int pageSize, int pageNumber, out int totalCount) { using (SqlQuery query = new SqlQuery()) { query.Pager.TableName = "Chinaz_Websites"; query.Pager.PageNumber = pageNumber; query.Pager.PageSize = pageSize; query.Pager.PrimaryKey = "WebsiteID"; query.Pager.SortField = "WebsiteID"; query.Pager.SelectCount = true; query.Pager.IsDesc = true; using (XSqlDataReader reader = query.ExecuteReader()) { totalCount = 0; List <Website> results = new List <Website>(); while (reader.Next) { results.Add(new Website(reader)); } if (reader.NextResult()) { while (reader.Next) { totalCount = reader.Get <int>(00); } } return(results); } } }
public override PointShowCollection GetPointShowList(int pageSize, int pageNumber) { using (SqlQuery query = new SqlQuery()) { query.Pager.SortField = "[Price]"; query.Pager.IsDesc = true; query.Pager.PrimaryKey = "[UserID]"; query.Pager.PageSize = pageSize; query.Pager.PageNumber = pageNumber; query.Pager.SelectCount = true; query.Pager.TableName = "bx_PointShows"; using (XSqlDataReader reader = query.ExecuteReader()) { PointShowCollection result = new PointShowCollection(reader); if (reader.NextResult()) { while (reader.Read()) { result.TotalRecords = reader.Get <int>(0); } } return(result); } } }
public override VisitorCollection SelectVisitors(int userID, int pageNumber, int pageSize, out int totalCount) { totalCount = 0; VisitorCollection visitors = new VisitorCollection(); using (SqlQuery query = new SqlQuery()) { query.Pager.PageNumber = pageNumber; query.Pager.PageSize = pageSize; query.Pager.SelectCount = true; query.Pager.SortField = "CreateDate"; query.Pager.TableName = "bx_UserVisitors"; query.Pager.Condition = "UserID = @UserID"; query.CreateParameter <int>("@UserID", userID, SqlDbType.Int); using (XSqlDataReader reader = query.ExecuteReader()) { visitors = new VisitorCollection(reader); if (reader.NextResult()) { while (reader.Read()) { totalCount = reader.Get <int>(0); } } } } return(visitors); }
public override VisitorCollection GetSpaceVisitors(int spaceOwnerID, int pageSize, int pageNumber) { using (SqlQuery query = new SqlQuery()) { query.Pager.PageNumber = pageNumber; query.Pager.PageSize = pageSize; query.Pager.SelectCount = true; query.Pager.SortField = "CreateDate"; query.Pager.PrimaryKey = "[ID]"; query.Pager.TableName = "bx_Visitors"; query.Pager.Condition = "UserID = @UserID"; query.Pager.IsDesc = true; query.CreateParameter <int>("@UserID", spaceOwnerID, SqlDbType.Int); using (XSqlDataReader reader = query.ExecuteReader()) { VisitorCollection visitors = new VisitorCollection(reader); if (reader.NextResult()) { if (reader.Read()) { visitors.TotalRecords = reader.Get <int>(0); } } return(visitors); } } }
public override ChatSessionCollection GetChatSessions(int userID, int pageNumber, int pageSize) { ChatSessionCollection results = new ChatSessionCollection(); using (SqlQuery query = new SqlQuery()) { query.Pager.TableName = "bx_ChatSessions"; query.Pager.PrimaryKey = "ChatSessionID"; query.Pager.SortField = "UpdateDate"; query.Pager.PageNumber = pageNumber; query.Pager.PageSize = pageSize; query.Pager.IsDesc = true; query.Pager.SelectCount = true; query.Pager.Condition = "UserID = @UserID"; query.CreateParameter <int>("@UserID", userID, SqlDbType.Int); using (XSqlDataReader reader = query.ExecuteReader()) { results = new ChatSessionCollection(reader); while (reader.NextResult()) { while (reader.Read()) { results.TotalRecords = reader.Get <int>(00); } } } } return(results); }
public override SimpleUserCollection GetBannedUsers(int ForumID, int pageSize, int pageNumber, out int totalCount) { totalCount = 0; using (SqlQuery query = new SqlQuery()) { query.Pager.TableName = "bx_SimpleUser"; query.Pager.PageNumber = pageNumber; query.Pager.PageSize = pageSize; query.Pager.SelectCount = true; query.Pager.SelectCount = true; query.Pager.PrimaryKey = "[UserID]"; query.Pager.Condition = " UserID IN(SELECT UserID FROM bx_BannedUsers WHERE ForumID = @ForumID AND EndDate > GETDATE())"; query.CreateParameter <int>("@ForumID", ForumID, SqlDbType.Int); using (XSqlDataReader reader = query.ExecuteReader()) { SimpleUserCollection users = new SimpleUserCollection(reader); if (reader.NextResult()) { while (reader.Read()) { totalCount = reader.GetInt32(0); } } return(users); } } }
public override UserTempAvatarCollection GetUserTempAvatars(int pageSize, int pageNumber, out int totalCount) { using (SqlQuery query = new SqlQuery()) { query.Pager.TableName = "bx_UserTempAvatar"; query.Pager.PageSize = pageSize; query.Pager.PageNumber = pageNumber; query.Pager.PrimaryKey = "UserID"; query.Pager.SortField = "[CreateDate]"; query.Pager.IsDesc = true; query.Pager.SelectCount = true; totalCount = 0; using (XSqlDataReader reader = query.ExecuteReader()) { UserTempAvatarCollection tempAvatars = new UserTempAvatarCollection(reader); if (reader.NextResult()) { while (reader.Read()) { totalCount = reader.Get <int>(0); } } return(tempAvatars); } } }
/// <summary> /// 获取指定类型的标签 /// </summary> /// <param name="type">类型,如日志标签等</param> public override TagCollection GetTags(TagType type, int pageNumber, int pageSize, ref int?count) { using (SqlQuery query = new SqlQuery()) { query.Pager.TableName = "bx_Tags"; query.Pager.SortField = "ID"; query.Pager.PageNumber = pageNumber; query.Pager.PageSize = pageSize; query.Pager.TotalRecords = count; query.Pager.IsDesc = true; query.Pager.SelectCount = true; query.Pager.Condition = "[ID] IN (SELECT [TagID] FROM [bx_TagRelation] WHERE [Type] = @Type)"; query.CreateParameter <TagType>("@Type", type, SqlDbType.TinyInt); using (XSqlDataReader reader = query.ExecuteReader()) { TagCollection tags = new TagCollection(reader); if (count == null && reader.NextResult()) { if (reader.Read()) { count = reader.Get <int>(0); } } return(tags); } } }
/// <summary> /// 高级搜索 /// </summary> public override NotifyCollection GetNotifiesBySearch(AdminNotifyFilter notifyFilter, int pageNumber) { using (SqlQuery query = new SqlQuery()) { StringBuilder condition = FilterToCondition(query, notifyFilter); query.Pager.IsDesc = true; query.Pager.TableName = "[bx_Notify]"; query.Pager.SortField = "[NotifyID]"; query.Pager.PageNumber = pageNumber; query.Pager.PageSize = notifyFilter.PageSize; query.Pager.SelectCount = true; query.Pager.Condition = condition.ToString(); using (XSqlDataReader reader = query.ExecuteReader()) { NotifyCollection notifies = new NotifyCollection(reader); if (reader.NextResult()) { if (reader.Read()) { notifies.TotalRecords = reader.Get <int>(0); } } return(notifies); } } }
public override CommentCollection GetCommentsByFilter(AdminCommentFilter filter, int operatorUserID, IEnumerable <Guid> excludeRoleIDs, int pageNumber, out int totalCount) { totalCount = 0; using (SqlQuery query = new SqlQuery()) { query.Pager.TableName = "bx_Comments"; query.Pager.SortField = filter.Order.ToString(); if (filter.Order != AdminCommentFilter.OrderBy.CommentID) { query.Pager.PrimaryKey = "CommentID"; } query.Pager.IsDesc = filter.IsDesc; query.Pager.PageNumber = pageNumber; query.Pager.PageSize = filter.PageSize; query.Pager.SelectCount = true; query.Pager.Condition = BuildConditionsByFilter(query, filter, false, operatorUserID, excludeRoleIDs); using (XSqlDataReader reader = query.ExecuteReader()) { CommentCollection comments = new CommentCollection(reader); if (reader.NextResult()) { while (reader.Read()) { totalCount = reader.Get <int>(0); } } return(comments); } } }
public override UserPropCollection GetSellingUserProps(int pageNumber, int pageSize, ref int?totalCount) { using (SqlQuery db = new SqlQuery()) { db.Pager.TableName = "bx_SellingProps"; db.Pager.PageNumber = pageNumber; db.Pager.PageSize = pageSize; db.Pager.SortField = "SellingDate"; db.Pager.PrimaryKey = "UserPropID"; db.Pager.Condition = @" PropID IN(SELECT PropID FROM bx_Props WHERE Enable = 1) "; if (totalCount != null) { db.Pager.TotalRecords = totalCount; db.Pager.SelectCount = false; } else { db.Pager.SelectCount = true; } using (XSqlDataReader reader = db.ExecuteReader()) { UserPropCollection result = new UserPropCollection(reader); if (reader.NextResult() && reader.Read()) { totalCount = reader.Get <int>(0); } result.TotalRecords = totalCount.Value; return(result); } } }
public override PropLogCollection GetPropLogs(int userID, PropLogType type, int pageNumber, int pageSize) { using (SqlQuery query = new SqlQuery()) { query.Pager.TableName = "bx_PropLogs"; query.Pager.SortField = "PropLogID"; query.Pager.PageNumber = pageNumber; query.Pager.PageSize = pageSize; query.Pager.SelectCount = true; query.Pager.Condition = "UserID = @UserID"; query.CreateParameter <int>("@UserID", userID, SqlDbType.Int); if (type != PropLogType.All) { query.CreateParameter <PropLogType>("@Type", type, SqlDbType.TinyInt); query.Pager.Condition += " AND Type = @Type"; } using (XSqlDataReader reader = query.ExecuteReader()) { PropLogCollection result = new PropLogCollection(reader); if (reader.NextResult() && reader.Read()) { result.TotalRecords = reader.Get <int>(0); } return(result); } } }
public override FriendCollection GetFriendsHasImpressions(int userID, int pageNumber, int pageSize) { using (SqlQuery db = new SqlQuery()) { db.Pager.TableName = "bx_FriendsHasImpressions"; db.Pager.SortField = "FriendUserID"; db.Pager.Condition = "UserID = @UserID"; db.Pager.PageNumber = pageNumber; db.Pager.PageSize = pageSize; db.Pager.SelectCount = true; db.CreateParameter <int>("@UserID", userID, SqlDbType.Int); using (XSqlDataReader reader = db.ExecuteReader()) { FriendCollection result = new FriendCollection(reader); if (reader.NextResult() && reader.Read()) { result.TotalRecords = reader.Get <int>(0); } return(result); } } }
public override UserPropCollection GetUserPropsForAdmin(UserPropFilter filter, int pageNumber) { using (SqlQuery db = new SqlQuery()) { db.Pager.TableName = "bx_UserPropsView"; db.Pager.PageSize = filter.PageSize; db.Pager.PageNumber = pageNumber; db.Pager.SelectCount = true; db.Pager.IsDesc = filter.IsDesc; if (filter.Order == UserPropFilter.OrderBy.Count) { db.Pager.SortField = "Count"; db.Pager.PrimaryKey = "UserPropID"; } else { db.Pager.SortField = "UserPropID"; } db.Pager.Condition = BuildCondition(db, filter); using (XSqlDataReader reader = db.ExecuteReader()) { UserPropCollection result = new UserPropCollection(reader); if (reader.NextResult() && reader.Read()) { result.TotalRecords = reader.Get <int>(0); } return(result); } } }
public override ImpressionRecordCollection GetTargetUserImpressionRecords(int targetUserID, int pageNumber, int pageSize, ref int?totalCount) { using (SqlQuery db = new SqlQuery()) { db.Pager.TableName = "bx_ImpressionRecordsWithTypeInfo"; db.Pager.Condition = "TargetUserID = @TargetUserID"; db.Pager.SortField = "RecordID"; db.Pager.PageNumber = pageNumber; db.Pager.PageSize = pageSize; db.Pager.TotalRecords = totalCount; db.Pager.SelectCount = true; db.CreateParameter <int>("@TargetUserID", targetUserID, System.Data.SqlDbType.Int); using (XSqlDataReader reader = db.ExecuteReader()) { ImpressionRecordCollection result = new ImpressionRecordCollection(reader); if (reader.NextResult() && reader.Read()) { totalCount = reader.Get <int>(0); result.TotalRecords = totalCount.Value; } return(result); } } }
public override ImpressionRecordCollection GetImpressionRecordsForAdmin(AdminImpressionRecordFilter filter, int pageNumber) { using (SqlQuery query = new SqlQuery()) { query.Pager.TableName = "[bx_ImpressionRecordsWithTypeInfo]"; query.Pager.ResultFields = "*"; query.Pager.SortField = "RecordID"; query.Pager.IsDesc = filter.IsDesc; query.Pager.PageNumber = pageNumber; query.Pager.PageSize = filter.PageSize; query.Pager.SelectCount = true; query.Pager.Condition = BuildCondition(query, filter); using (XSqlDataReader reader = query.ExecuteReader()) { ImpressionRecordCollection types = new ImpressionRecordCollection(reader); if (reader.NextResult()) { if (reader.Read()) { types.TotalRecords = reader.Get <int>(0); } } return(types); } } }
public override EmoticonCollection AdminGetUserEmoticons(int userID, int pageSize, int pageIndex) { using (SqlQuery query = new SqlQuery()) { query.Pager.TableName = "bx_Emoticons"; query.Pager.Condition = " GroupID IN (SELECT GroupID FROM bx_EmoticonGroups WHERE UserID = @UserID)"; query.CreateParameter <int>("@UserID", userID, SqlDbType.Int); query.Pager.PageSize = pageSize; query.Pager.PageNumber = pageIndex; query.Pager.SortField = "SortOrder"; query.Pager.PrimaryKey = "EmoticonID"; query.Pager.SelectCount = true; using (XSqlDataReader reader = query.ExecuteReader()) { EmoticonCollection Emoticons = new EmoticonCollection(reader); if (reader.NextResult()) { if (reader.Read()) { Emoticons.TotalRecords = reader.Get <int>(0); } } return(Emoticons); } } }
/// <summary> /// 获取指定用户/所有用户的所有通知 /// </summary> /// <param name="userID">指定用户的ID,可以为空,为空则为要获取所有用户</param> /// <returns>返回指定用户的所有通知集合</returns> public override NotifyCollection GetNotifies(int?userID, int pageSize, int pageNumber, ref int?count) { using (SqlQuery query = new SqlQuery()) { query.Pager.IsDesc = true; query.Pager.TableName = "[bx_Notify]"; query.Pager.SortField = "[NotifyID]"; query.Pager.PrimaryKey = "[NotifyID]"; query.Pager.PageNumber = pageNumber; query.Pager.PageSize = pageSize; query.Pager.TotalRecords = count; query.Pager.SelectCount = true; if (userID != null) { query.Pager.Condition = @"[UserID] = @UserID"; } query.CreateParameter <int?>("@UserID", userID, SqlDbType.Int); using (XSqlDataReader reader = query.ExecuteReader()) { NotifyCollection notifies = new NotifyCollection(reader); if (count == null && reader.NextResult()) { if (reader.Read()) { count = reader.Get <int>(0); } } return(notifies); } } }
public override InviteSerialCollection GetInviteSerials(int operatorUserID, InviteSerialStatus status, string filter, int pageNumber, out int totalCount) { using (SqlQuery query = new SqlQuery()) { StringBuffer Condition = new StringBuffer(); Condition += " AND UserID = @UserID"; query.CreateParameter <int>("@UserID", operatorUserID, SqlDbType.Int); if (status != InviteSerialStatus.All) { if (status != InviteSerialStatus.Expires) { Condition += " AND [Status] = @Status"; query.CreateParameter <byte>("@Status", (byte)status, SqlDbType.TinyInt); } else if (status == InviteSerialStatus.Expires) { Condition += " AND Status <> 1 AND ExpiresDate <= GETDATE()"; } } if (string.IsNullOrEmpty(filter) == false) { Condition += " AND (Serial LIKE '%'+ @word +'%' OR ToUserID IN( SELECT UserID FROM bx_Users WHERE Username LIKE '%'+ @word +'%' OR Realname LIKE '%'+ @word +'%' ))"; query.CreateParameter <string>("@word", filter, SqlDbType.NVarChar, 50); } if (Condition.Length > 0) { Condition.Remove(0, 5); } query.Pager.SortField = "CreateDate"; query.Pager.IsDesc = true; query.Pager.TableName = "[bx_InviteSerials]"; query.Pager.SelectCount = true; query.Pager.PageSize = 20; query.Pager.PageNumber = pageNumber > 0 ? pageNumber : 1; query.Pager.Condition = Condition.ToString(); query.Pager.PrimaryKey = "[ID]"; totalCount = 0; using (XSqlDataReader reader = query.ExecuteReader()) { InviteSerialCollection Serials = new InviteSerialCollection(reader); if (reader.NextResult()) { if (reader.Read()) { totalCount = reader.GetInt32(0); Serials.TotalRecords = totalCount; } } return(Serials); } } }
public override DoingCollection GetEveryoneDoingsWithComments(int pageNumber, int pageSize, ref int?totalCount) { DoingCollection doings = null; using (SqlSession db = new SqlSession()) { using (SqlQuery query = new SqlQuery()) { query.Pager.TableName = "[bx_Doings]"; query.Pager.SortField = "[DoingID]"; query.Pager.PageNumber = pageNumber; query.Pager.PageSize = pageSize; query.Pager.TotalRecords = totalCount; query.Pager.IsDesc = true; query.Pager.SelectCount = true; using (XSqlDataReader reader = query.ExecuteReader()) { doings = new DoingCollection(reader); if (totalCount == null && reader.NextResult() && reader.Read()) { totalCount = reader.Get <int>(0); } doings.TotalRecords = totalCount.GetValueOrDefault(); } } FillDoingComments(doings, db); } return(doings); }
public override PointLogCollection GetPointLogs(PointLogFilter filter, int pageNumber) { using (SqlQuery query = new SqlQuery()) { StringBuilder sb = new StringBuilder(); if (!string.IsNullOrEmpty(filter.Username)) { sb.Append(" AND UserID IN( SELECT UserID FROM bx_Users WHERE Username = @Username )"); query.CreateParameter <string>("@Username", filter.Username, SqlDbType.NVarChar, 50); } if (filter.OperateID != null) { sb.Append(" AND OperateID = @OperateID"); query.CreateParameter <int>("@OperateID", filter.OperateID.Value, SqlDbType.Int); } if (filter.BeginDate != null) { sb.Append(" AND CreateTime >= @BeginDate"); query.CreateParameter <DateTime>("@BeginDate", filter.BeginDate.Value, SqlDbType.DateTime); } if (filter.EndDate != null) { sb.Append(" AND CreateTime <= @EndDate"); query.CreateParameter <DateTime>("@EndDate", filter.EndDate.Value, SqlDbType.DateTime); } if (sb.Length > 0) { sb.Remove(0, 4); } query.Pager.TableName = "bx_PointLogs"; query.Pager.PageNumber = pageNumber; query.Pager.PrimaryKey = "LogID"; query.Pager.SortField = "LogID"; query.Pager.IsDesc = true; query.Pager.PageSize = filter.PageSize; query.Pager.SelectCount = true; query.Pager.Condition = sb.ToString(); using (XSqlDataReader reader = query.ExecuteReader()) { PointLogCollection logs = new PointLogCollection(reader); if (reader.NextResult()) { while (reader.Next) { logs.TotalRecords = reader.Get <int>(0); } } return(logs); } } }
public override AuctionBidInfoCollection GetMyAuctionBids(int userID, int auctionID, int pageSize, int pageNumber) { using (SqlQuery query = new SqlQuery()) { query.Pager.TableName = "Chinaz_AuctionBids"; query.Pager.PrimaryKey = "BidID"; query.Pager.IsDesc = true; query.Pager.SelectCount = true; query.Pager.PageNumber = pageNumber; query.Pager.PageSize = pageSize; query.Pager.Condition = "UserID = @UserID AND AuctionID = @AuctionID"; query.CreateParameter <int>("@UserID", userID, SqlDbType.Int); query.CreateParameter <int>("@AuctionID", auctionID, SqlDbType.Int); using (XSqlDataReader reader = query.ExecuteReader()) { AuctionBidInfoCollection bids = new AuctionBidInfoCollection(reader); if (reader.NextResult()) { while (reader.Next) { bids.TotalRecords = reader.Get <int>(0); } } return(bids); } } }
public override void GetDiskFiles(int userID, int directoryID, out DiskDirectoryCollection directories, out DiskFileCollection files) { files = null; directories = null; using (SqlQuery query = new SqlQuery()) { query.CommandText = "bx_GetDiskFiles"; query.CommandType = CommandType.StoredProcedure; query.CreateParameter("@UserID", userID, SqlDbType.Int); query.CreateParameter("@DirectoryID", directoryID, SqlDbType.Int); using (XSqlDataReader reader = query.ExecuteReader()) { directories = new DiskDirectoryCollection(reader); if (reader.NextResult()) { files = new DiskFileCollection(reader); } } } if (files == null) { files = new DiskFileCollection(); } if (directories == null) { directories = new DiskDirectoryCollection(); } }
public override EmoticonCollection GetEmoticons(int userID, int GroupID, int pageSize, int pageNumber, bool isDesc, out int totalCount) { totalCount = 0; using (SqlQuery query = new SqlQuery()) { query.Pager.TableName = "bx_Emoticons"; query.Pager.PageNumber = pageNumber; query.Pager.PageSize = pageSize; query.Pager.PrimaryKey = "EmoticonID"; query.Pager.SelectCount = true; query.Pager.SortField = "SortOrder"; query.Pager.IsDesc = isDesc; query.Pager.Condition = " GroupID = @GroupID AND EXISTS( SELECT * FROM bx_EmoticonGroups WHERE GroupID = @GroupID AND UserID = @UserID)"; query.CreateParameter <int>("@GroupID", GroupID, SqlDbType.Int); query.CreateParameter <int>("@UserID", userID, SqlDbType.Int); using (XSqlDataReader reader = query.ExecuteReader()) { EmoticonCollection emoticons = new EmoticonCollection(reader); if (reader.NextResult()) { if (reader.Read()) { emoticons.TotalRecords = reader.Get <int>(0); } } totalCount = emoticons.TotalRecords; return(emoticons); } } }
private string GetExtendData(BasicThread thread, ThreadType threadType, XSqlDataReader reader, bool isFirstRead) { string extendData = null; switch (threadType) { case ThreadType.Poll: PollThreadV5 poll = thread == null ? new PollThreadV5() : (PollThreadV5)thread; if (isFirstRead || reader.NextResult()) { while (reader.Read()) { poll.FillPoll(reader); } } if (reader.NextResult()) { poll.PollItems = new PollItemCollectionV5(reader); } if (thread == null || poll.VotedUserIDs == null) poll.VotedUserIDs = new List<int>(); if (reader.NextResult()) { while (reader.Read()) { poll.VotedUserIDs.Add(reader.Get<int>(0)); } } extendData = poll.GetExtendData(); break; case ThreadType.Question: QuestionThread question = thread == null ? new QuestionThread() : (QuestionThread)thread; if (isFirstRead || reader.NextResult()) { while (reader.Read()) { question.FillQuestion(reader); } } if (thread == null || question.Rewards == null) question.Rewards = new Dictionary<int, int>(); if (reader.NextResult()) { while (reader.Read()) { question.Rewards.Add(reader.Get<int>("PostID"), reader.Get<int>("Reward")); } } extendData = question.GetExtendData(); break; case ThreadType.Polemize: PolemizeThreadV5 polemize = thread == null ? new PolemizeThreadV5() : (PolemizeThreadV5)thread; if (isFirstRead || reader.NextResult()) { while (reader.Read()) { polemize.FillPolemize(reader); } } if (reader.NextResult()) { polemize.FillPolemizeUsers(reader); } extendData = polemize.GetExtendData(); break; default: break; } if (thread != null) thread.ExtendDataIsNull = false; return extendData; }
private void GetThread(XSqlDataReader reader, AttachmentCollection attachments, DateTime? expiresDate, out BasicThread thread, out PostV5 post, out List<int> attachmentIDs, out Dictionary<string, int> fileIDs) { attachmentIDs = new List<int>(); fileIDs = new Dictionary<string, int>(); thread = null; post = null; while (reader.Read()) { thread = GetThread(reader, expiresDate); } if (attachments.Count > 0) { //本地刚上传的附件 ID if (reader.NextResult()) { while (reader.Read()) { attachmentIDs.Add(reader.Get<int>(0)); } } //所有附件 if (reader.NextResult()) { while (reader.Read()) { string fileID = reader.Get<string>("fileID"); if (fileIDs.ContainsKey(fileID) == false) fileIDs.Add(fileID, reader.Get<int>("attachmentID")); } } } if (reader.NextResult()) { while (reader.Read()) { post = new PostV5(reader); } } }
private PostCollectionV5 GetPosts(XSqlDataReader reader, bool isFirstRead) { PostCollectionV5 posts = new PostCollectionV5(); List<int> replyIDs = new List<int>(); if (isFirstRead) { while (reader.Read()) { PostV5 post = new PostV5(reader); post.Attachments = new AttachmentCollection(); post.PostMarks = new PostMarkCollection(); posts.Add(post); replyIDs.Add(post.PostID); } } else { if (reader.NextResult()) { while (reader.Read()) { PostV5 post = new PostV5(reader); post.Attachments = new AttachmentCollection(); post.PostMarks = new PostMarkCollection(); posts.Add(post); replyIDs.Add(post.PostID); } } } //读取下一个结果集 if (reader.NextResult()) { while (reader.Read()) //附件列表 { Attachment attachment = new Attachment(reader); int replyIndex = replyIDs.IndexOf(attachment.PostID); if (replyIndex != -1) { posts[replyIndex].Attachments.Add(attachment); } } } //历史附件 if (reader.NextResult()) { while (reader.Read()) //附件列表 { Attachment attachment = new Attachment(reader); attachment.AttachType = AttachType.History; int hpostID = reader.Get<int>("HPostID"); int replyIndex = replyIDs.IndexOf(hpostID); if (replyIndex != -1) { posts[replyIndex].Attachments.Add(attachment); } } } if (reader.NextResult())//评分列表 { while (reader.Read()) { PostMark postMark = new PostMark(reader); int replyIndex = replyIDs.IndexOf(postMark.PostID); if (replyIndex != -1) { posts[replyIndex].PostMarks.Add(postMark); } } } if (reader.NextResult()) { string s = null; while (reader.Read()) { s = reader.Get<string>(0); } #if !Publish if (reader.SqlQuery.TempInfo != null) reader.SqlQuery.TempInfo += "-----" + s; else reader.SqlQuery.TempInfo = s; #endif } return posts; }