Ejemplo n.º 1
0
        public IQueryable <PostModel> GetPost(int threadId, string sessionKey)
        {
            var user = this.userRepository
                       .GetAll().Where(usr => usr.SessionKey == sessionKey).FirstOrDefault();

            if (user == null)
            {
                throw new InvalidOperationException("The user is not logged in");
            }

            var threadEnitity = this.threadRepository
                                .GetAll().Where(th => th.Id == threadId).FirstOrDefault();

            if (threadEnitity != null)
            {
                var posts  = threadEnitity.Posts;
                var models = new List <PostModel>();

                foreach (var post in posts)
                {
                    models.Add(PostModel.CreateFromPostEnitity(post));
                }

                return(models.OrderByDescending(p => p.PostDate).AsQueryable());
            }

            return(null);
        }