public async Task <Comment> UpdateCommentAsync(string id, UpdateCommentRequest updateCommentIn) { var filter = Builders <DataAccessComment> .Filter.Eq(s => s.Id, id); var update = Builders <DataAccessComment> .Update.Set(s => s.Content, updateCommentIn.Content); DataAccessComment dbArticle = await _dbContext.Comments.FindOneAndUpdateAsync(filter, update); return(_mapper.Map <Comment>(dbArticle)); }
public async Task <Comment> AddCommentAsync(UpdateCommentRequest updateCommentIn) { ApplicationUser dbUser = await _dbContext.Users.Find(x => x.Id == updateCommentIn.UserId).FirstOrDefaultAsync(); Article dbArticle = await _dbContext.Articles.Find(x => x.Id == updateCommentIn.ArticleId).FirstOrDefaultAsync(); if (dbUser == null || dbArticle == null) { string message = dbUser == null ? "user" : "article"; throw new RequestedResourceNotFoundException($"{message} with this id wasn't found."); } DataAccessComment dbComment = _mapper.Map <UpdateCommentRequest, DataAccessComment>(updateCommentIn); await _dbContext.Comments.InsertOneAsync(dbComment); return(_mapper.Map <Comment>(dbComment)); }