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

AddIteration() public method

public AddIteration ( int reviewId, int currentUserId ) : DatabaseActionResult
reviewId int
currentUserId int
return DatabaseActionResult
        public virtual DatabaseActionResult<Iteration> AddIteration(int reviewId, int currentUserId)
        {
            Requires.InRange(reviewId >= 0, "reviewId");
            Requires.InRange(currentUserId >= 0, "currentUserId");

            Review review = Data.Reviews
                                .Include("Iterations")
                                .Where(r => r.Id == reviewId)
                                .FirstOrDefault();
            if (review == null)
            {
                return DatabaseActionResult<Iteration>.NotFound();
            }
            else if (review.UserId != currentUserId)
            {
                return DatabaseActionResult<Iteration>.Forbidden();
            }
            Iteration i = new Iteration()
            {
                Published = false,
                StartedOn = DateTime.UtcNow,
            };
            review.Iterations.Add(i);
            Data.SaveChanges();
            return DatabaseActionResult<Iteration>.Success(i);
        }