public bool ChangeReaction(int postId) { var isBanned = unitOfWork.Users.Query.FirstOrDefault(e => e.Id == CurrentUser.Id)?.IsBanned ?? false; if (isBanned) { return(unitOfWork.Reactions.Query.Any(e => e.PostId == postId && e.UserId == CurrentUser.Id)); } var reaction = unitOfWork.Reactions.Query.FirstOrDefault(e => e.PostId == postId && e.UserId == CurrentUser.Id); if (reaction == null) { var reaction2 = new Domain.Reaction() { PostId = postId, UserId = CurrentUser.Id }; unitOfWork.Reactions.Add(reaction2); unitOfWork.SaveChanges(); return(true); } else { unitOfWork.Reactions.Remove(reaction); unitOfWork.SaveChanges(); return(false); } }
public async Task Consume(ConsumeContext <CreateReaction> context) { var reaction = new Domain.Reaction(context.Message.Id, context.Message.Bucket, context.Message.BlobId, context.Message.UserId, context.Message.FileId, context.Message.Index, context.Message.Fields); await session.Add(reaction); await session.Commit(); }