requestbuilder.cs

来自「ASP.NET简洁论坛源代码 这是一个简单的论坛」· CS 代码 · 共 238 行

CS
238
字号
using System;
using System.Collections.Generic;
using System.Text;
using System.ComponentModel;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using NetFocus.Web.Core;

namespace NetFocus.Web.Applications.Forum
{
    public class RequestBuilder
	{
        public static UserRequest BuildUserListRequest(int pageIndex, int pageSize)
        {
            UserRequest request = new UserRequest();

            request.User = new ForumUser();
            request.PageIndex = pageIndex;
            request.PageSize = pageSize;

            return request;
        }

        public static EntityRequest BuildThreadOnlyRequest(int threadId)
        {
            EntityRequest request = new EntityRequest();
            Thread thread = new Thread();

            request.Entities.Add(thread);
            request.EntityId = threadId;

            return request;
        }
        public static EntityRequest BuildThreadRequest(int threadId)
        {
            EntityRequest request = new EntityRequest();
            Thread thread = new Thread();
            Post post = new Post();

            request.Entities.Add(thread);
            request.Entities.Add(post);
            request.EntityId = threadId;
            request.GetChildEntities = true;
            request.SetReturnFields(thread.ReturnFields, post.ReturnFields);

            return request;
        }
        public static EntityRequest BuildThreadListRequest(int sectionId, int pageIndex, int pageSize)
        {
            ThreadRequest request = new ThreadRequest();
            Thread thread = new Thread();

            thread.RemoveReturnProperty("Body");

            request.Entities.Add(thread);
            request.PageIndex = pageIndex;
            request.PageSize = pageSize;
            request.SectionId = sectionId;

            request.OrderFields.Clear();
            request.OrderFields.Add(new OrderField(thread, "StickDate", false));
            request.OrderFields.Add(new OrderField(thread, "UpdateDate", false));

            return request;
        }
        public static EntityRequest BuildEssenceThreadListRequest(int categoryId, int pageIndex, int pageSize)
        {
            ThreadRequest request = new ThreadRequest();
            Thread thread = new Thread();

            thread.RemoveReturnProperty("Body");

            request.Entities.Add(thread);
            request.PageIndex = pageIndex;
            request.PageSize = pageSize;
            request.SectionId = categoryId;
            request.ThreadType = (int)ThreadType.Wonderful;

            request.OrderFields.Clear();
            request.OrderFields.Add(new OrderField(thread, "StickDate", false));
            request.OrderFields.Add(new OrderField(thread, "UpdateDate", false));

            return request;
        }
        public static EntityRequest BuildRecommendThreadListRequest(int categoryId, int pageIndex, int pageSize)
        {
            ThreadRequest request = new ThreadRequest();
            Thread thread = new Thread();

            thread.RemoveReturnProperty("Body");

            request.Entities.Add(thread);
            request.PageIndex = pageIndex;
            request.PageSize = pageSize;
            request.SectionId = categoryId;
            request.ThreadType = (int)ThreadType.Recommended;

            request.OrderFields.Clear();
            request.OrderFields.Add(new OrderField(thread, "StickDate", false));
            request.OrderFields.Add(new OrderField(thread, "UpdateDate", false));

            return request;
        }
        public static EntityRequest BuildMyThreadListRequest(int authorId, int pageIndex, int pageSize)
        {
            ThreadRequest request = new ThreadRequest();
            Thread thread = new Thread();

            thread.RemoveReturnProperty("Body");

            request.Entities.Add(thread);
            request.PageIndex = pageIndex;
            request.PageSize = pageSize;
            request.AuthorId = authorId;

            request.OrderFields.Clear();
            request.OrderFields.Add(new OrderField(thread, "StickDate", false));
            request.OrderFields.Add(new OrderField(thread, "UpdateDate", false));

            return request;
        }
        public static EntityRequest BuildMyReplyThreadListRequest(int replierId, int pageIndex, int pageSize)
        {
            ThreadRequest request = new ThreadRequest();
            Thread thread = new Thread();

            thread.RemoveReturnProperty("Body");

            request.Entities.Add(thread);
            request.PageIndex = pageIndex;
            request.PageSize = pageSize;
            request.ReplierId = replierId;

            request.OrderFields.Clear();
            request.OrderFields.Add(new OrderField(thread, "StickDate", false));
            request.OrderFields.Add(new OrderField(thread, "UpdateDate", false));

            return request;
        }

        public static EntityRequest BuildSectionRequest(int sectionId)
        {
            EntityRequest request = new EntityRequest();

            request.Entities.Add(new Section());
            request.EntityId = sectionId;
            
            return request;
        }
        public static EntityRequest BuildSectionListRequest(int groupId)
        {
            SectionRequest request = new SectionRequest();
            
            request.Entities.Add(new Section());
            request.PageSize = 1000;
            request.GroupId = groupId;

            return request;
        }
        public static EntityRequest BuildSectionListRequest(int groupId, int enabled)
        {
            SectionRequest request = new SectionRequest();

            request.Entities.Add(new Section());
            request.PageSize = 1000;
            request.GroupId = groupId;
            request.Enabled = enabled;

            return request;
        }

        public static EntityRequest BuildGroupRequest(int groupId)
        {
            EntityRequest request = new EntityRequest();

            request.Entities.Add(new Group());
            request.EntityId = groupId;

            return request;
        }
        public static EntityRequest BuildGroupListRequest()
        {
            EntityRequest request = new EntityRequest();

            request.EntityType = (int)EntityType.Group;
            request.Entities.Add(new Group());
            request.PageSize = 1000;

            return request;
        }
        public static EntityRequest BuildGroupListRequest(int enabled)
        {
            GroupRequest request = new GroupRequest();

            request.Entities.Add(new Group());
            request.PageSize = 1000;
            request.Enabled = enabled;

            return request;
        }

        public static EntityRequest BuildPostRequest(int postId)
        {
            EntityRequest request = new EntityRequest();

            request.Entities.Add(new Post());
            request.EntityId = postId;          

            return request;
        }
        public static EntityRequest BuildPostListRequest(int parentId)
        {
            EntityRequest request = new EntityRequest();

            request.EntityType = (int)EntityType.Post;
            request.Entities.Add(new Post());
            request.ParentId = parentId;
            request.PageIndex = 0;
            request.PageSize = 10000;
            request.OrderFields.Add(new OrderField(FieldIdent.EntityID, true));

            return request;
        }
        public static EntityRequest BuildPostListRequest(int parentId, int pageIndex, int pageSize)
        {
            EntityRequest request = new EntityRequest();

            request.EntityType = (int)EntityType.Post;
            request.Entities.Add(new Post());
            request.ParentId = parentId;
            request.PageIndex = pageIndex;
            request.PageSize = pageSize;

            return request;
        }
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?