public async Task <OperationResultVo> Comment(CommentViewModel vm) { try { bool commentAlreadyExists = await userContentDomainService.CheckIfCommentExists <UserContentComment>(x => x.UserContentId == vm.UserContentId && x.UserId == vm.UserId && x.Text.Equals(vm.Text)); if (commentAlreadyExists) { return(new OperationResultVo(false) { Message = "Duplicated Comment" }); } else { UserContentComment model = mapper.Map <UserContentComment>(vm); userContentDomainService.Comment(model); await unitOfWork.Commit(); int newCount = userContentDomainService.CountComments(x => x.UserContentId == model.UserContentId && x.UserId == model.UserId); return(new OperationResultVo <int>(newCount)); } } catch (Exception ex) { return(new OperationResultVo(ex.Message)); } }
public async Task <bool> AddComment(UserContentComment model) { FilterDefinition <UserContent> filter = Builders <UserContent> .Filter.Where(x => x.Id == model.UserContentId); UpdateDefinition <UserContent> add = Builders <UserContent> .Update.AddToSet(c => c.Comments, model); UpdateResult result = await DbSet.UpdateOneAsync(filter, add); return(result.IsAcknowledged && result.MatchedCount > 0); }
public void Comment(UserContentComment model) { Task.Run(async() => await repository.AddComment(model)); }