ReviewR.Web.Api.ReviewsController.Get C# (CSharp) Method

Get() public method

public Get ( int id ) : HttpResponseMessage
id int
return System.Net.Http.HttpResponseMessage
        public HttpResponseMessage Get(int id)
        {
            Requires.InRange(id >= 0, "id");

            Review review = Reviews.GetReview(id);
            if (review == null)
            {
                return NotFound();
            }

            // Filter iterations if this user isn't the owner
            bool owner = review.UserId == User.Identity.UserId;
            IEnumerable<Iteration> iters = review.Iterations;
            if (!owner)
            {
                iters = review.Iterations.Where(i => i.Published);
            }

            return Ok(new ReviewDetailModel()
            {
                Id = review.Id,
                Title = review.Name,
                Author = UserModel.FromUser(review.Creator),
                Description = review.Description,
                Iterations = iters.OrderBy(i => i.StartedOn).Select((i, idx) => new IterationModel()
                {
                    Id = i.Id,
                    Order = idx,
                    Published = i.Published,
                    Description = i.Description
                }),
                Owner = owner
            });
        }