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);
}