Beispiel #1
0
        public ClubMemberStatus?GetClubMemberStatus(int clubID, int userID)
        {
            if (userID <= 0)
            {
                return(null);
            }

            string cachekey = GetCacheKeyForClubMemberStatus(userID, clubID);

            ClubMemberStatus cache = ClubMemberStatus.Normal;

            if (CacheUtil.TryGetValue <ClubMemberStatus>(cachekey, out cache))
            {
                return(cache);
            }

            ClubMemberStatus?result = ClubDao.Instance.GetClubMemberStatus(clubID, userID);

            if (result != null)
            {
                CacheUtil.Set <ClubMemberStatus>(cachekey, result.Value);
            }

            return(result);
        }
Beispiel #2
0
        public override void UpdateClubMemberStatus(int clubID, int[] userIDs, ClubMemberStatus status)
        {
            using (SqlQuery db = new SqlQuery())
            {
                db.CommandText = "UPDATE bx_ClubMembers SET Status = @Status WHERE ClubID = @ClubID AND UserID IN (@UserIDs);";

                db.CreateParameter <int>("@ClubID", clubID, SqlDbType.Int);
                db.CreateParameter <ClubMemberStatus>("@Status", status, SqlDbType.TinyInt);
                db.CreateInParameter <int>("@UserIDs", userIDs);

                db.ExecuteNonQuery();
            }
        }
Beispiel #3
0
 /// <summary>
 /// 批量修改群组成员的身份
 /// </summary>
 /// <param name="clubID"></param>
 /// <param name="userIDs"></param>
 /// <param name="status"></param>
 public abstract void UpdateClubMemberStatus(int clubID, int[] userIDs, ClubMemberStatus status);
Beispiel #4
0
        public override void UpdateClubMemberStatus(int clubID, int[] userIDs, ClubMemberStatus status)
        {
            using (SqlQuery db = new SqlQuery())
            {
                db.CommandText = "UPDATE bx_ClubMembers SET Status = @Status WHERE ClubID = @ClubID AND UserID IN (@UserIDs);";

                db.CreateParameter<int>("@ClubID", clubID, SqlDbType.Int);
                db.CreateParameter<ClubMemberStatus>("@Status", status, SqlDbType.TinyInt);
                db.CreateInParameter<int>("@UserIDs", userIDs);

                db.ExecuteNonQuery();
            }
        }
Beispiel #5
0
        public override ClubMemberCollection GetClubMembers(int clubID, int pageSize, int pageNumber, ClubMemberStatus? status)
        {
            using (SqlQuery db = new SqlQuery())
            {
                db.Pager.TableName = "bx_ClubMembers";
                db.Pager.SortField = "SortOrder";
                db.Pager.PageSize = pageSize;
                db.Pager.PageNumber = pageNumber;
                db.Pager.Condition = "ClubID = @ClubID";
                db.Pager.SelectCount = true;

                if (status != null)
                {
                    db.Pager.Condition += " AND Status = @Status";
                    db.CreateParameter<ClubMemberStatus>("@Status", status.Value, SqlDbType.TinyInt);
                }
                else
                {
                    db.Pager.Condition += " AND Status <> 1 AND Status <> 2";
                }

                db.CreateParameter<int>("@ClubID", clubID, SqlDbType.Int);

                using (XSqlDataReader reader = db.ExecuteReader())
                {
                    ClubMemberCollection result = new ClubMemberCollection(reader);

                    reader.NextResult();
                    reader.Read();

                    result.TotalRecords = reader.Get<int>(0);

                    return result;
                }
            }
        }
Beispiel #6
0
        public bool UpdateClubMemberStatus(AuthUser operatorUser, int clubID, int[] userIDs, ClubMemberStatus status)
        {
            Club club = GetClubForEdit(operatorUser, clubID);

            if (club == null)
            {
                return(false);
            }

            ClubDao.Instance.UpdateClubMemberStatus(clubID, userIDs, status);

            foreach (int userID in userIDs)
            {
                ClearClubMemberStatusCache(userID, clubID);
            }

            return(true);
        }
Beispiel #7
0
    protected void Page_Load(object sender, EventArgs e)
    {
        int?clubID = _Request.Get <int>("id");

        if (clubID.HasValue)
        {
            if (_Request.IsClick("update"))
            {
                using (ErrorScope es = new ErrorScope())
                {
                    MessageDisplay md = CreateMessageDisplay();

                    string[] ids = _Request.Get("MemberIDs", Method.Post, string.Empty).Split(',');

                    if (ids.Length == 1 && ids[0] == string.Empty)
                    {
                        md.AddError("请至少选择一个用户");
                    }
                    else
                    {
                        int[] userIDs = new int[ids.Length];

                        for (int i = 0; i < ids.Length; i++)
                        {
                            userIDs[i] = int.Parse(ids[i]);
                        }

                        if (_Request.Get("SetStatus", Method.Post) == "Delete")
                        {
                            ClubBO.Instance.RemoveClubMembers(My, clubID.Value, userIDs);
                        }
                        else
                        {
                            ClubMemberStatus?setStatus = _Request.Get <ClubMemberStatus>("SetStatus", Method.Post, ClubMemberStatus.Normal);

                            if (setStatus != null)
                            {
                                if (ClubBO.Instance.UpdateClubMemberStatus(My, clubID.Value, userIDs, setStatus.Value))
                                {
                                    BbsRouter.JumpToCurrentUrl();                                    //.JumpTo(BbsRouter.GetCurrentUrl());
                                }
                                else
                                {
                                    es.CatchError <ErrorInfo>(delegate(ErrorInfo error)
                                    {
                                        md.AddError(error);
                                    });
                                }
                            }
                        }
                    }
                }
            }

            ClubMemberStatus status = _Request.Get <ClubMemberStatus>("status", ClubMemberStatus.Normal);
            int page     = _Request.Get <int>("page", 1);
            int pageSize = 30;

            m_ClubMemberList = ClubBO.Instance.GetClubMembersForEdit(My, clubID.Value, status, page, pageSize);

            if (m_ClubMemberList == null)
            {
                ShowError("群组不存在或没权限管理");
            }

            m_TotalClubMemberCount = m_ClubMemberList.TotalRecords;

            UserBO.Instance.WaitForFillSimpleUsers <ClubMember>(m_ClubMemberList);
        }
        else
        {
            ShowError("群组不存在");
        }
    }