コード例 #1
0
ファイル: DoingBO.cs プロジェクト: zhangbo27/bbsmax
        private bool ProcessDeleteDoings(int operatorID, bool isUpdatePoint, DeleteDoingsCallback deleteAction)
        {
            if (ValidateDoingAdminPermission(operatorID) == false)
            {
                return(false);
            }

            Guid[] excludeRoleIDs = ManagePermission.GetNoPermissionTargetRoleIds(operatorID, PermissionTargetType.Content);

            DeleteResult deleteResult = null;

            if (isUpdatePoint)
            {
                bool succeed = DoingPointAction.Instance.UpdateUsersPoints(delegate(PointActionManager.TryUpdateUserPointState state, out PointResultCollection <DoingPointType> pointResults)
                {
                    pointResults = null;

                    if (state != PointActionManager.TryUpdateUserPointState.CheckSucceed)
                    {
                        return(false);
                    }

                    deleteResult = deleteAction(excludeRoleIDs);

                    if (deleteResult != null && deleteResult.Count > 0)
                    {
                        pointResults = new PointResultCollection <DoingPointType>();

                        foreach (DeleteResultItem item in deleteResult)
                        {
                            pointResults.Add(item.UserID, item.UserID == operatorID ? DoingPointType.DoingWasDeletedBySelf : DoingPointType.DoingWasDeletedByAdmin, item.Count);
                        }

                        return(true);
                    }

                    return(false);
                });
            }
            else
            {
                deleteResult = deleteAction(excludeRoleIDs);
            }

            if (deleteResult != null && deleteResult.Count > 0)
            {
                ClearCachedEveryoneData();

                foreach (DeleteResultItem item in deleteResult)
                {
                    ClearCachedUserData(item.UserID);
                }
            }

            return(true);
        }
コード例 #2
0
ファイル: DoingBO.cs プロジェクト: zhangbo27/bbsmax
        /// <summary>
        /// 获取记录用于管理
        /// </summary>
        /// <param name="operatorID">操作者ID</param>
        /// <param name="filter">文章搜索条件</param>
        /// <param name="pageNumber">数据分页页码</param>
        /// <returns></returns>
        public DoingCollection GetDoingsForAdmin(int operatorID, AdminDoingFilter filter, int pageNumber)
        {
            if (ValidateDoingAdminPermission(operatorID) == false)
            {
                return(null);
            }

            Guid[] excludeRoleIDs = ManagePermission.GetNoPermissionTargetRoleIds(operatorID, PermissionTargetType.Content);

            DoingCollection doings = DoingDao.Instance.GetDoingsBySearch(excludeRoleIDs, filter, pageNumber);

            ProcessKeyword(doings, ProcessKeywordMode.FillOriginalText);

            return(doings);
        }
コード例 #3
0
ファイル: CommentBO.cs プロジェクト: zhangbo27/bbsmax
        /// <summary>
        /// 搜索评论
        /// </summary>
        /// <param name="operatorID"></param>
        /// <param name="filter"></param>
        /// <param name="pageNumber"></param>
        /// <returns></returns>
        public CommentCollection GetCommentsForAdmin(int operatorID, AdminCommentFilter filter, int pageNumber)
        {
            if (ValidateCommentAdminPermission(operatorID) == false)
            {
                return(null);
            }

            Guid[] excludeRoleIDs = ManagePermission.GetNoPermissionTargetRoleIds(operatorID, PermissionTargetType.Content);

            CommentCollection comments = CommentDao.Instance.GetCommentsBySearch(operatorID, excludeRoleIDs, filter, pageNumber);

            ProcessKeyword(comments, ProcessKeywordMode.FillOriginalText);

            return(comments);
        }
コード例 #4
0
ファイル: NotifyBO.cs プロジェクト: zhangbo27/bbsmax
        /// <summary>
        /// 删除符合指定条件的通知
        /// </summary>
        public bool DeleteNotifiesBySearch(int operatorUserID, AdminNotifyFilter notifyFilter)
        {
            if (notifyFilter == null)
            {
                notifyFilter = new AdminNotifyFilter();
            }

            Guid[] excludeRoleIds = ManagePermission.GetNoPermissionTargetRoleIds(operatorUserID, PermissionTargetType.Content);

            NotifyDao.Instance.DeleteNotifiesBySearch(notifyFilter, excludeRoleIds);
            //bool isDeleted = NotifyDao.Instance.DeleteNotifiesBySearch(notifyFilter);

            //if (isDeleted)
            //{
            //    UserBO.Instance.ClearUserDataCache();
            //}

            return(true);
        }
コード例 #5
0
ファイル: CommentBO.cs プロジェクト: zhangbo27/bbsmax
        private bool ProcessDeleteComments(int operatorID, bool isUpdatePoint, DeleteCommentsCallback deleteAction)
        {
            Guid[] excludeRoleIDs = ManagePermission.GetNoPermissionTargetRoleIds(operatorID, PermissionTargetType.Content);

            DeleteResult deleteResult = null;

            if (isUpdatePoint)
            {
                bool succeed = CommentPointAction.Instance.UpdateUsersPoints(delegate(PointActionManager.TryUpdateUserPointState state, out PointResultCollection <CommentPointType> pointResults)
                {
                    pointResults = null;

                    if (state != PointActionManager.TryUpdateUserPointState.CheckSucceed)
                    {
                        return(false);
                    }

                    deleteResult = deleteAction(excludeRoleIDs);

                    if (deleteResult != null && deleteResult.Count > 0)
                    {
                        pointResults = new PointResultCollection <CommentPointType>();

                        foreach (DeleteResultItem item in deleteResult)
                        {
                            pointResults.Add(item.UserID, item.UserID == operatorID ? CommentPointType.DeleteCommentBySelf : CommentPointType.DeleteCommentByAdmin, item.Count);
                        }

                        return(true);
                    }

                    return(false);
                });
            }
            else
            {
                deleteResult = deleteAction(excludeRoleIDs);
            }

            return(true);
        }