Exemplo n.º 1
0
        public ActionResult Thread(long?id, long page = 0, int capacity = 15)
        {
            if (id == null)
            {
                return(View("NotFound"));
            }
            ThreadPostsModel posts = new ThreadPostsModel
            {
                Thread = ThreadDAO.Select(id)
            };

            posts.Creator = AccountDAO.Select(posts.Thread.Account);
            posts.Post    = PostDAO.SelectFirstPostByThread(posts.Creator.Id.Value, posts.Thread.Id.Value);
            var post = AccountPostDAO.SelectItemsByThread(id.Value).AsEnumerable();

            posts.Posts = post.Skip(capacity * (int)page).Take(capacity);
            posts.Pages = (post.Count() - 1) / capacity;
            posts.Page  = page;
            ThreadDAO.ViewsCount(id.Value);
            return(View(posts));
        }
Exemplo n.º 2
0
        public ActionResult Thread(long?id)
        {
            if (id == null)
            {
                return(View("NotFound"));
            }
            ThreadPostsModel posts = new ThreadPostsModel
            {
                Thread = db.Threads.Where(e => e.Id == id).Single()
            };

            posts.Creator = db.Accounts.Where(e => e.Id == posts.Thread.Account).Single();
            posts.Post    = db.Posts.Where(e => e.Account == posts.Creator.Id && e.Thread == posts.Thread.Id).Min(e => e.Id);
            var result = from post in db.Posts
                         join account in db.Accounts on post.Account equals account.Id
                         orderby post.Id
                         where post.Thread == id
                         select new AccountPostModel {
                Account = account, Post = post
            };

            posts.Posts = result.ToList().AsEnumerable();
            return(View(posts));
        }