예제 #1
0
        /// <summary>
        /// 缓存用户的表情分组
        /// </summary>
        /// <param name="userID"></param>
        /// <param name="groups"></param>
        private void CacheUserEmoticonGroups(int userID, EmoticonGroupCollection groups)
        {
            string cacheKey = string.Format(cacheKey_EmoticonUserGroups, userID);

            CacheUtil.Set <EmoticonGroupCollection>(cacheKey, groups);
            foreach (EmoticonGroup group in groups)
            {
                CacheUtil.Set <EmoticonGroup>(string.Format(cacheKey_EmoticonGroup, group.GroupID), group);
            }
        }
예제 #2
0
        public long GetUserEmoticonStat(int userID, out int totalCount)
        {
            EmoticonGroupCollection groups = GetEmoticonGroups(userID);
            long totalSize = 0;

            totalCount = 0;
            foreach (EmoticonGroup group in groups)
            {
                totalSize  += group.TotalSizes;
                totalCount += group.TotalEmoticons;
            }
            return(totalSize);
        }
예제 #3
0
        public override EmoticonGroupCollection GetEmoticonGroups(int userID)
        {
            using (SqlQuery query = new SqlQuery())
            {
                query.CommandType = CommandType.StoredProcedure;
                query.CommandText = "bx_Emoticon_GetGroups";

                query.CreateParameter <int>("@UserID", userID, SqlDbType.Int);
                using (XSqlDataReader reader = query.ExecuteReader())
                {
                    EmoticonGroupCollection groups = new EmoticonGroupCollection(reader);
                    return(groups);
                }
            }
        }
예제 #4
0
        /// <summary>
        /// 当用户表情分组为0 的时候创建默认表情分组
        /// </summary>
        /// <param name="userID"></param>
        /// <returns></returns>
        public EmoticonGroup CreateDefaultGroup(int userID)
        {
            if (!CanUseEmoticon(userID))
            {
                return(null);
            }

            EmoticonGroup           Group  = EmoticonDao.Instance.CreateGroup(userID, Lang.Emoticon_DefaultGroupName);
            EmoticonGroupCollection groups = new EmoticonGroupCollection();

            groups.Add(Group);

            CacheUserEmoticonGroups(userID, groups);

            return(Group);
        }
예제 #5
0
        protected void Page_Load(object sender, EventArgs e)
        {
            string pageSizeMode = _Request.Get("pagesize");

            switch (pageSizeMode)
            {
            case "a":
                m_PageSize = 20;
                break;

            case "b":
                m_PageSize = 40;
                break;

            case "c":
                m_PageSize = 60;
                break;

            default:
                m_PageSize = 20;
                break;
            }

            if (!EmoticonBO.Instance.CanUseEmoticon(MyUserID))
            {
                ShowError(new NoPermissionUseEmoticonError());
                return;
            }

            if (_Request.IsClick("delete"))
            {
                Delete();
            }
            else if (_Request.IsClick("deletegroup"))
            {
                DeleteGroup();
            }
            else if (_Request.IsClick("exportGroup"))
            {
                ExportGroup();
            }
            else if (_Request.IsClick("exportSelected"))
            {
                ExportSelectedEmoticons();
            }
            else if (_Request.IsClick("addcategory"))
            {
                MessageDisplay msgDisplay = CreateMessageDisplay();

                string groupname = _Request.Get("groupname", Method.Post);
                EmoticonBO.Instance.CreateEmoticonGroup(MyUserID, groupname);

                if (HasUnCatchedError)
                {
                    CatchError <ErrorInfo>(delegate(ErrorInfo error) { msgDisplay.AddError(error); });
                }
            }

            //else if (_Request.IsClick("enable"))
            //{
            if (this.GroupList.Count == 0)//创建默认分组
            {
                m_groupList = new EmoticonGroupCollection();
                m_groupList.Add(EmoticonBO.Instance.CreateDefaultGroup(MyUserID));
            }
            //}

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

            m_emoticonlist = EmoticonBO.Instance.GetEmoticons(MyUserID, CurrentGroup.GroupID, pageNumber, PageSize, false);

            SetPager("pager1", null, pageNumber, m_PageSize, m_emoticonlist.TotalRecords);
            AddNavigationItem("表情");
        }
예제 #6
0
        public override EmoticonGroupCollection GetEmoticonGroups(int userID)
        {
            using (SqlQuery query = new SqlQuery())
            {
                query.CommandType = CommandType.StoredProcedure;
                query.CommandText = "bx_Emoticon_GetGroups";

                query.CreateParameter<int>("@UserID", userID, SqlDbType.Int);
                using (XSqlDataReader reader = query.ExecuteReader())
                {
                    EmoticonGroupCollection groups = new EmoticonGroupCollection(reader);
                    return groups;
                }
            }
        }
예제 #7
0
        protected void Page_Load(object sender, EventArgs e)
        {

            string pageSizeMode = _Request.Get("pagesize");

            switch (pageSizeMode)
            {
                case "a":
                    m_PageSize = 20;
                    break;

                case "b":
                    m_PageSize = 40;
                    break;

                case "c":
                    m_PageSize = 60;
                    break;

                default:
                    m_PageSize = 20;
                    break;
            }

            if (!EmoticonBO.Instance.CanUseEmoticon(MyUserID))
            {
                ShowError(new NoPermissionUseEmoticonError());
                return;
            }

            if (_Request.IsClick("delete"))
            {
                Delete();
            }
            else if (_Request.IsClick("deletegroup"))
            {
                DeleteGroup();
            }
            else if (_Request.IsClick("exportGroup"))
            {
                ExportGroup();
            }
            else if (_Request.IsClick("exportSelected"))
            {
                ExportSelectedEmoticons();
            }
            else if (_Request.IsClick("addcategory"))
            {
                MessageDisplay msgDisplay = CreateMessageDisplay();

                string groupname = _Request.Get("groupname", Method.Post);
                EmoticonBO.Instance.CreateEmoticonGroup(MyUserID, groupname);

                if (HasUnCatchedError)
                {
                    CatchError<ErrorInfo>(delegate(ErrorInfo error) { msgDisplay.AddError(error); });
                }
            }

            //else if (_Request.IsClick("enable"))
            //{
            if (this.GroupList.Count == 0)//创建默认分组
            {
                m_groupList = new EmoticonGroupCollection();
                m_groupList.Add(EmoticonBO.Instance.CreateDefaultGroup(MyUserID));
            }
            //}

            int pageNumber = _Request.Get<int>("page", Method.Get, 1);
            m_emoticonlist = EmoticonBO.Instance.GetEmoticons(MyUserID, CurrentGroup.GroupID, pageNumber, PageSize, false);

            SetPager("pager1", null, pageNumber, m_PageSize, m_emoticonlist.TotalRecords);
            AddNavigationItem("表情");
        }