public async Task <Comment> AddComment(string photoId, string albumId, string message, User requestor) { if (!await _permissionsService.CanComment(requestor, albumId)) { return(null); } var photo = await _photoService.GetPhoto(photoId); var comment = new Comment { ReactionId = _guid.NewGuid().ToString(), Text = message, Reactor = requestor, ReactionDate = _clock.UtcNow }; var photoComment = new PhotoComment { Photo = photo, Comment = comment }; photo.PhotoComments.Add(photoComment); await _unitOfWork.Photos.Update(photo); return(comment); }