Example #1
0
        /// <summary>
        /// 删除指定ID的主题页面
        /// </summary>
        /// <param name="ids">逗号分隔的主题页面ID</param>
        /// <returns>是否成功删除</returns>
        public static IMethodResult AdminDeleteTopicPages(String names)
        {
            if (!AdminManager.HasPermission(PermissionType.SuperAdministrator))
            {
                throw new NoPermissionException();
            }

            Boolean success = TopicPageRepository.Instance.DeleteEntities(names) > 0;

            if (!success)
            {
                return MethodResult.FailedAndLog("No page was deleted!");
            }

            names.ForEachInIDs(',', name =>
            {
                TopicPageCache.RemoveTopicPageCache(name);//删除缓存
            });

            return MethodResult.SuccessAndLog("Admin delete page, name = {0}", names);
        }
Example #2
0
        /// <summary>
        /// 删除指定ID的公告
        /// </summary>
        /// <param name="ids">逗号分隔的公告ID</param>
        /// <returns>是否成功删除</returns>
        public static IMethodResult AdminDeleteNews(String ids)
        {
            if (!AdminManager.HasPermission(PermissionType.NewsManage))
            {
                throw new NoPermissionException();
            }

            if (!RegexVerify.IsNumericIDs(ids))
            {
                return MethodResult.InvalidRequest(RequestType.News);
            }

            String[] arrids = ids.Split(',');
            String defaultID = NewsRepository.DEFAULTID.ToString();

            for (Int32 i = 0; i < arrids.Length; i++)
            {
                if (String.Equals(arrids[i], defaultID))
                {
                    return MethodResult.FailedAndLog("Can not delete the default news!");
                }
            }

            Boolean success = NewsRepository.Instance.DeleteEntities(ids) > 0;

            if (!success)
            {
                return MethodResult.FailedAndLog("No news was deleted!");
            }

            ids.ForEachInIDs(',', id =>
            {
                NewsCache.RemoveNewsCache(id);//删除缓存
            });
            NewsCache.RemoveLastestNewsListCache();//删除缓存
            NewsCache.RemoveNewsCountCache();//删除缓存

            return MethodResult.SuccessAndLog("Admin delete news, id = {0}", ids);
        }
Example #3
0
        /// <summary>
        /// 更新题目隐藏状态
        /// </summary>
        /// <param name="ids">题目ID列表</param>
        /// <param name="isHide">隐藏状态</param>
        /// <returns>是否成功更新</returns>
        public static IMethodResult AdminUpdateProblemIsHide(String ids, Boolean isHide)
        {
            if (!AdminManager.HasPermission(PermissionType.ProblemManage))
            {
                throw new NoPermissionException();
            }

            if (!RegexVerify.IsNumericIDs(ids))
            {
                return MethodResult.InvalidRequest(RequestType.Problem);
            }

            Boolean success = ProblemRepository.Instance.UpdateEntityIsHide(ids, isHide) > 0;

            if (!success)
            {
                return MethodResult.FailedAndLog("No problem was {0}!", isHide ? "hided" : "unhided");
            }

            ids.ForEachInIDs(',', id =>
            {
                ProblemCache.RemoveProblemCache(id);//删除缓存
                ProblemCache.RemoveProblemSetCache(GetProblemPageIndex(id));//删除缓存
            });

            return MethodResult.SuccessAndLog("Admin {1} problem, id = {0}", ids, isHide ? "hide" : "unhide");
        }
Example #4
0
        /// <summary>
        /// 更新竞赛隐藏状态
        /// </summary>
        /// <param name="ids">竞赛ID列表</param>
        /// <param name="isHide">隐藏状态</param>
        /// <returns>是否成功更新</returns>
        public static IMethodResult AdminUpdateContestIsHide(String ids, Boolean isHide)
        {
            if (!AdminManager.HasPermission(PermissionType.ContestManage))
            {
                throw new NoPermissionException();
            }

            if (!RegexVerify.IsNumericIDs(ids))
            {
                return MethodResult.InvalidRequest(RequestType.Contest);
            }

            Boolean success = ContestRepository.Instance.UpdateEntityIsHide(ids, isHide) > 0;

            if (!success)
            {
                return MethodResult.FailedAndLog("No contest was {0}!", isHide ? "hided" : "unhided");
            }

            ids.ForEachInIDs(',', id =>
            {
                ContestCache.RemoveContestCache(id);//删除缓存
            });

            ContestCache.RemoveContestListCountCache();//删除缓存

            return MethodResult.SuccessAndLog("Admin {1} contest, id = {0}", ids, isHide ? "hide" : "unhide");
        }
Example #5
0
        /// <summary>
        /// 更新主题隐藏状态
        /// </summary>
        /// <param name="ids">主题ID列表</param>
        /// <param name="isHide">是否隐藏</param>
        /// <returns>是否成功更新</returns>
        public static IMethodResult AdminUpdateForumTopicIsHide(String ids, Boolean isHide)
        {
            if (!AdminManager.HasPermission(PermissionType.ForumManage))
            {
                throw new NoPermissionException();
            }

            if (!RegexVerify.IsNumericIDs(ids))
            {
                return MethodResult.InvalidRequest(RequestType.ForumTopic);
            }

            Boolean success = ForumTopicRepository.Instance.UpdateEntityIsHide(ids, isHide) > 0;

            if (!success)
            {
                return MethodResult.FailedAndLog("No forum topic was {0}!", isHide ? "hided" : "unhided");
            }

            ids.ForEachInIDs(',', id =>
            {
                ForumTopicCache.RemoveForumTopicCache(id);//删除缓存
            });

            return MethodResult.SuccessAndLog("Admin {1} forum topic, id = {0}", ids, isHide ? "hide" : "unhide");
        }