Пример #1
0
        public virtual void StickyMoveDown(ForumApp forum, int topicId)
        {
            String json = StickyTopic.MoveDown(forum.StickyTopic, topicId);

            forum.StickyTopic = json;
            db.update(forum, "StickyTopic");
        }
Пример #2
0
        //--------------------------------------- delete -----------------------------------------

        public virtual void DeleteToTrash(ForumTopic topic, User creator, String ip)
        {
            topic.Status = TopicStatus.Delete;
            db.update(topic, "Status");

            List <ForumPost> posts = db.find <ForumPost>("TopicId=" + topic.Id).list();

            foreach (ForumPost p in posts)
            {
                p.Status = TopicStatus.Delete;
                db.update(p, "Status");
            }

            // 更新作者的收入
            if (topic.Creator != null && topic.Creator.Id > 0)   // 规避已注销用户
            {
                String msg = string.Format("主题被删除<a href=\"{0}\">{1}</a>", alink.ToAppData(topic), topic.Title);
                incomeService.AddIncome(topic.Creator, UserAction.Forum_TopicDeleted.Id, msg);
            }

            // 检查总置顶帖子缓存
            StickyTopic.DeleteTopic(topic);

            logService.AddTopic(creator, topic.AppId, topic.Id, ForumLogAction.Delete, ip);
        }
Пример #3
0
        public virtual void DeleteList(AdminValue av)
        {
            av.ActionId = ForumLogAction.Delete;

            DeleteListToTrash(av.Ids);
            // 积分规则中本身定义的是负值,所以此处用AddIncome
            AddAuthorIncome(av.Condition, UserAction.Forum_TopicDeleted.Id, "删除");

            // 检查总置顶
            StickyTopic.DeleteTopic(av.AppId, av.Ids);

            makeLog(av);
        }
Пример #4
0
        public virtual void SetGloablStickyUndo(int appId, String ids)
        {
            ForumApp app = db.findById <ForumApp>(appId);

            if (app == null)
            {
                return;
            }

            String            condition      = "Id in (" + ids + ")";
            List <ForumTopic> newStickTopics = db.find <ForumTopic>(condition).list();

            app.StickyTopic = StickyTopic.SubtractData(app.StickyTopic, newStickTopics);
            db.update(app);
        }
Пример #5
0
        public virtual void MakeGloablStickyUndo(AdminValue av)
        {
            av.ActionId = ForumLogAction.GlobalUnSticky;

            ForumApp app = db.findById <ForumApp>(av.AppId);

            if (app == null)
            {
                return;
            }

            List <ForumTopic> newStickTopics = db.find <ForumTopic>(av.Condition).list();

            app.StickyTopic = StickyTopic.SubtractData(app.StickyTopic, newStickTopics);
            db.update(app);

            makeLog(av);
        }
Пример #6
0
        //-----------------------------------------------------------------------------------------------------------------------

        public virtual List <ForumTopic> GetStickyTopics(ForumApp forum)
        {
            return(StickyTopic.GetForumTopic(forum.StickyTopic, forum));
        }