ReviewR.Web.Services.IterationService.SetIterationPublished C# (CSharp) Method

SetIterationPublished() public method

public SetIterationPublished ( int id, bool published, int userId ) : DatabaseActionResult
id int
published bool
userId int
return DatabaseActionResult
        public virtual DatabaseActionResult<Iteration> SetIterationPublished(int id, bool published, int userId)
        {
            Requires.InRange(id >= 0, "id");
            Requires.InRange(userId >= 0, "userId");

            Iteration i = Data.Iterations
                              .Include("Review")
                              .Where(iter => iter.Id == id)
                              .FirstOrDefault();
            if (i == null)
            {
                return DatabaseActionResult<Iteration>.NotFound();
            }
            else if (i.Review.UserId != userId)
            {
                return DatabaseActionResult<Iteration>.Forbidden();
            }
            i.Published = published;
            Data.SaveChanges();
            return DatabaseActionResult<Iteration>.Success(i);
        }