/// <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 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); }
public override bool UpdateUserPayItem(string buyerEmail, string orderNo, string transactionNo, string payIp, DateTime payDate, out int userID) { userID = 0; using (SqlQuery query = new SqlQuery()) { query.CommandType = CommandType.StoredProcedure; query.CommandText = "bx_UpdatePayItem"; query.CreateParameter <string>("@BuyerEmail", buyerEmail, SqlDbType.VarChar, 50); query.CreateParameter <string>("@OrderNo", orderNo, SqlDbType.VarChar, 50); query.CreateParameter <string>("@TransactionNo", transactionNo, SqlDbType.NVarChar, 200); query.CreateParameter <string>("@PayIp", payIp, SqlDbType.VarChar, 50); query.CreateParameter <DateTime>("@PayDate", payDate, SqlDbType.DateTime); SqlParameter returnParam = query.CreateParameter <int>("@ReturnValue", SqlDbType.Int, ParameterDirection.ReturnValue); using (XSqlDataReader reader = query.ExecuteReader()) { if (reader.Read()) { userID = reader.Get <int>(0); } } return((int)returnParam.Value > 0); } }
/// <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 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 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 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 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 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); } } }
public override MaxSerial CreateSerial(int ownerUserId, DateTime expriseDate, SerialType type, string data, out bool success) { using (SqlQuery query = new SqlQuery()) { Guid serial = Guid.NewGuid(); DateTime createDate = DateTimeUtil.Now; query.CommandText = "bx_CreateSerial"; query.CommandType = System.Data.CommandType.StoredProcedure; query.CreateParameter <int>("@UserID", ownerUserId, SqlDbType.Int); query.CreateParameter <DateTime>("@ExpiresDate", expriseDate, SqlDbType.DateTime); query.CreateParameter <byte>("@Type", (byte)type, SqlDbType.TinyInt); query.CreateParameter <string>("@Data", data, SqlDbType.NVarChar, 1000); SqlParameter outputParam = query.CreateParameter <bool>("@Success", SqlDbType.Bit, ParameterDirection.Output); MaxSerial newSerial = null; using (XSqlDataReader reader = query.ExecuteReader()) { while (reader.Next) { newSerial = new MaxSerial(reader); } } success = (bool)outputParam.Value; return(newSerial); } }
/// <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); } } }
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 int UpdatePointShow(int userId, int addPoints, int price, string content, out PointShow showinfo) { using (SqlQuery query = new SqlQuery()) { query.CommandText = "bx_UpdatePointShowPrice"; query.CommandType = CommandType.StoredProcedure; query.CreateParameter <int>("@Price", price, SqlDbType.Int); query.CreateParameter <int>("@UserID", userId, SqlDbType.Int); query.CreateParameter <int>("@AddPoints", addPoints, SqlDbType.Int); query.CreateParameter <string>("@Content", content, SqlDbType.NVarChar, 500); SqlParameter parameter = query.CreateParameter <int>("@ReturnValue", SqlDbType.Int, ParameterDirection.ReturnValue); using (XSqlDataReader reader = query.ExecuteReader()) { showinfo = null; while (reader.Next) { showinfo = new PointShow(reader); } } return((int)parameter.Value); } }
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 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 Dictionary <int, ThreadCateModelFieldCollection> GetAllThreadCateModelField() { using (SqlQuery query = new SqlQuery()) { query.CommandText = "bx_GetAllThreadCateModelField"; query.CommandType = CommandType.StoredProcedure; Dictionary <int, ThreadCateModelFieldCollection> fields = new Dictionary <int, ThreadCateModelFieldCollection>(); using (XSqlDataReader reader = query.ExecuteReader()) { while (reader.Read()) { ThreadCateModelField field = new ThreadCateModelField(reader); ThreadCateModelFieldCollection tempFields; if (fields.TryGetValue(field.ModelID, out tempFields) == false) { tempFields = new ThreadCateModelFieldCollection(); tempFields.Add(field); fields.Add(field.ModelID, tempFields); } else { tempFields.Add(field); } } } return(fields); } }
public override Dictionary <int, ThreadCateModelCollection> GetAllModels() { using (SqlQuery query = new SqlQuery()) { query.CommandText = "bx_GetAllModels"; query.CommandType = CommandType.StoredProcedure; Dictionary <int, ThreadCateModelCollection> models = new Dictionary <int, ThreadCateModelCollection>(); using (XSqlDataReader reader = query.ExecuteReader()) { while (reader.Read()) { ThreadCateModel model = new ThreadCateModel(reader); ThreadCateModelCollection tempModels; if (models.TryGetValue(model.CateID, out tempModels) == false) { tempModels = new ThreadCateModelCollection(); tempModels.Add(model); models.Add(model.CateID, tempModels); } else { tempModels.Add(model); } } } return(models); } }
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); } } }
/// <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 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); } } }
/// <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); } } }
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 SystemNotify CreateSystemNotify(string subject, string Content, IEnumerable <Guid> receiveRoles, IEnumerable <int> receiveUserIDs, DateTime beginDate, DateTime endDate, int dispatcherID, string dispatcherIP) { using (SqlQuery query = new SqlQuery()) { query.CommandText = @"INSERT INTO bx_SystemNotifies(Subject, BeginDate, EndDate, ReceiveRoles, ReceiveUserIDs, Content, DispatcherID, DispatcherIP) VALUES( @Subject, @BeginDate, @EndDate,@ReceiveRoles, @ReceiveUserIDs, @Content, @DispatcherID, @DispatcherIP); SELECT * FROM bx_SystemNotifies WHERE NotifyID = @@IDENTITY; "; query.CreateParameter <string>("@Subject", subject, SqlDbType.NVarChar, 200); query.CreateParameter <DateTime>("@BeginDate", beginDate, SqlDbType.DateTime); query.CreateParameter <DateTime>("@EndDate", endDate, SqlDbType.DateTime); query.CreateParameter <string>("@ReceiveRoles", StringUtil.Join(receiveRoles, ","), SqlDbType.Text); query.CreateParameter <string>("@ReceiveUserIDs", StringUtil.Join(receiveUserIDs, ","), SqlDbType.VarChar, 2000); query.CreateParameter <string>("@Content", Content, SqlDbType.NVarChar, 2000); query.CreateParameter <int>("@DispatcherID", dispatcherID, SqlDbType.Int); query.CreateParameter <string>("@DispatcherIP", dispatcherIP, SqlDbType.VarChar, 200); using (XSqlDataReader reader = query.ExecuteReader()) { SystemNotify result = null; while (reader.Next) { result = new SystemNotify(reader); } return(result); } } }
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); } } }
/// <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 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 T GetNotify <T>(int?userID, int notifyID, bool isSetRead) { using (SqlQuery query = new SqlQuery()) { query.CommandText = "bx_GetNotify"; query.CommandType = CommandType.StoredProcedure; query.CreateParameter <int?>("@UserID", userID, SqlDbType.Int); query.CreateParameter <int>("@NotifyID", notifyID, SqlDbType.Int); query.CreateParameter <bool>("@SetRead", isSetRead, SqlDbType.Bit); using (XSqlDataReader reader = query.ExecuteReader()) { if (reader.Read()) { T result = new T(); result.ParseFromWrap(reader); return(result); } } } return(null); }
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 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 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); } } }
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 PostV5 GetPost(XSqlDataReader reader, bool isFirstRead) { PostCollectionV5 posts = GetPosts(reader, isFirstRead); if (posts.Count > 0) return posts[0]; else return null; }
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 BasicThread GetThread(XSqlDataReader reader, DateTime? expiresDate) { ThreadType threadType = reader.Get<ThreadType>("ThreadType"); switch (threadType) { case ThreadType.Poll: PollThreadV5 poll = new PollThreadV5(reader); if (expiresDate != null) poll.IsClosed = expiresDate.Value <= DateTimeUtil.Now; return (BasicThread)poll; case ThreadType.Polemize: PolemizeThreadV5 polemize = new PolemizeThreadV5(reader); if (expiresDate != null) polemize.IsClosed = expiresDate.Value <= DateTimeUtil.Now; return (BasicThread)polemize; case ThreadType.Question: QuestionThread question = new QuestionThread(reader); if (question.IsClosed == false) { if (expiresDate != null) question.IsClosed = expiresDate.Value <= DateTimeUtil.Now; } return (BasicThread)question; default: return new BasicThread(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; }