Example #1
0
        protected void Page_Load(object sender, EventArgs e)
        {
            int threadID = _Request.Get <int>("threadID", Method.Get, 0);

            if (threadID < 1)
            {
                ShowError(new InvalidParamError("threadID").Message);
            }

            thread = PostBOV5.Instance.GetThread(threadID);
            if (thread == null)
            {
                ShowError("该主题不存在或者已被删除!");
            }

            ForumPermissionSetNode permission = AllSettings.Current.ForumPermissionSet.Nodes.GetPermission(thread.ForumID);

            if (thread.PostUserID != MyUserID && (!permission.Can(My, ForumPermissionSetNode.Action.AlwaysViewContents)))
            {
                if (!thread.IsBuyed(My))
                {
                    ShowError("您还没有购买此主题,不能查看购买记录!");
                }
            }

            TradePoint = ForumPointAction.Instance.GetUserPoint(thread.PostUserID, ForumPointValueType.SellThread, thread.ForumID);

            int pageNumber = _Request.Get <int>("page", Method.Get, 1);

            ExchangeList = PostBOV5.Instance.GetThreadExchanges(threadID, pageNumber, pageSize, out totalCount, out totalMoney);

            WaitForFillSimpleUsers <ThreadExchange>(ExchangeList);

            SetPager("list", null, pageNumber, pageSize, totalCount);
        }
Example #2
0
        protected void Page_Load(object sender, EventArgs e)
        {
            int threadID = _Request.Get<int>("threadID", Method.Get, 0);

            if (threadID < 1)
                ShowError(new InvalidParamError("threadID").Message);

            thread = PostBOV5.Instance.GetThread(threadID);
            if (thread == null)
                ShowError("该主题不存在或者已被删除!");

            ForumPermissionSetNode permission = AllSettings.Current.ForumPermissionSet.Nodes.GetPermission(thread.ForumID);
            if (thread.PostUserID != MyUserID && (!permission.Can(My, ForumPermissionSetNode.Action.AlwaysViewContents)))
            {
                if (!thread.IsBuyed(My))
                {
                    ShowError("您还没有购买此主题,不能查看购买记录!");
                }
            }

            TradePoint = ForumPointAction.Instance.GetUserPoint(thread.PostUserID, ForumPointValueType.SellThread, thread.ForumID);

            int pageNumber = _Request.Get<int>("page",Method.Get,1);

            ExchangeList = PostBOV5.Instance.GetThreadExchanges(threadID, pageNumber, pageSize, out totalCount, out totalMoney);

            WaitForFillSimpleUsers<ThreadExchange>(ExchangeList);

            SetPager("list", null, pageNumber, pageSize, totalCount);
        }
Example #3
0
        public override ThreadExchangeCollection GetThreadExchanges(int threadID, int pageNumber, int pageSize, out int totalCount, out int totalSellMoney)
        {
            totalCount = 0;
            totalSellMoney = 0;
            using (SqlQuery query = new SqlQuery())
            {
                query.Pager.IsDesc = true;
                query.Pager.ResultFields = "*";
                query.Pager.SortField = "[CreateDate]";

                query.Pager.PrimaryKey = "[UserID]";
                query.Pager.PageNumber = pageNumber;
                query.Pager.PageSize = pageSize;
                //query.Pager.TotalRecords = totalThreads;
                query.Pager.SelectCount = true;
                query.Pager.TableName = "[bx_ThreadExchanges]";

                query.Pager.Condition = " [ThreadID] = @ThreadID ";

                query.CreateParameter<int>("@ThreadID", threadID, SqlDbType.Int);

                query.Pager.AfterExecute = "SELECT SUM(Price) FROM bx_ThreadExchanges WITH (NOLOCK) WHERE [ThreadID] = @ThreadID;";

                ThreadExchangeCollection exchanges;
                using (XSqlDataReader reader = query.ExecuteReader())
                {
                    exchanges = new ThreadExchangeCollection(reader);
                    if (reader.NextResult())
                    {
                        while (reader.Read())
                        {
                            totalCount = reader.Get<int>(0);
                        }
                    }
                    if (reader.NextResult())
                    {
                        while (reader.Read())
                        {
                            totalSellMoney = reader.Get<int>(0);
                        }
                    }
                }

                return exchanges;
            }
        }