BlogEngine.Core.Json.JsonTrashList.GetTrash C# (CSharp) Method

GetTrash() public static method

Paged list of deleted objects
public static GetTrash ( TrashType trashType, int page ) : List
trashType TrashType Type of delted object
page int Page number
return List
        public static List<JsonTrash> GetTrash(TrashType trashType, int page)
        {
            var comments = new List<Comment>();
            var posts = new List<Post>();
            var pages = new List<Page>();

            var trashList = new List<JsonTrash>();
            currentPage = page;

            // comments
            if (trashType == TrashType.All || trashType == TrashType.Comment)
            {
                foreach (var p in Post.Posts)
                {
                    comments.AddRange(p.DeletedComments);
                }
            }

            if (comments.Count > 0)
            {
                foreach (var c in comments)
                {
                    JsonTrash t1 = new JsonTrash {
                        Id = c.Id,
                        Title = c.Title,
                        ObjectType = "Comment",
                        Date = c.DateCreated.ToString("dd MMM yyyy"),
                        Time = c.DateCreated.ToString("t") };

                    trashList.Add(t1);
                }
            }

            // posts
            if (trashType == TrashType.All || trashType == TrashType.Post)
            {
                posts = (from x in Post.DeletedPosts orderby x.DateCreated descending select x).ToList();
            }

            if (posts.Count > 0)
            {
                foreach (var p in posts)
                {
                    JsonTrash t2 = new JsonTrash
                    {
                        Id = p.Id,
                        Title = System.Web.HttpContext.Current.Server.HtmlEncode(p.Title),
                        ObjectType = "Post",
                        Date = p.DateCreated.ToString("dd MMM yyyy"),
                        Time = p.DateCreated.ToString("t")
                    };

                    trashList.Add(t2);
                }
            }

            // pages
            if (trashType == TrashType.All || trashType == TrashType.Page)
            {
                pages = (from x in Page.DeletedPages orderby x.DateCreated descending select x).ToList();
            }

            if (pages.Count > 0)
            {
                foreach (var p in pages)
                {
                    JsonTrash t3 = new JsonTrash
                    {
                        Id = p.Id,
                        Title = System.Web.HttpContext.Current.Server.HtmlEncode(p.Title),
                        ObjectType = "Page",
                        Date = p.DateCreated.ToString("dd MMM yyyy"),
                        Time = p.DateCreated.ToString("t")
                    };

                    trashList.Add(t3);
                }
            }

            var pageSize = 20;
            listCount = trashList.Count;

            if (trashList.Count < pageSize)
                return trashList;

            var skip = page == 1 ? 0 : page * pageSize - pageSize;
            var trashPage = trashList.Skip(skip).Take(pageSize).ToList();

            return trashPage;
        }