public async Task <Unit> Handle(CommentLikeCommand request, CancellationToken cancellationToken) { var comment = await _context.Comments.FindAsync(request.Id); comment.Likes++; await _context.SaveChangesAsync(cancellationToken); return(Unit.Value); }
public async Task <Unit> Handle(LikeTopicCommand request, CancellationToken cancellationToken) { var topic = await _context.Topics.FindAsync(request.Id); topic.Likes++; await _context.SaveChangesAsync(cancellationToken); return(Unit.Value); }
public async Task <Unit> Handle(RemoveCakeCommand request, CancellationToken cancellationToken) { var cake = await context.ShoppingCarts.FirstOrDefaultAsync(s => s.CustomerId == request.CustomerId && s.CakeId == request.CakeId); this.context.ShoppingCarts.Remove(cake); await context.SaveChangesAsync(cancellationToken); return(Unit.Value); }
public async Task <Unit> Handle(ClearCartCommand request, CancellationToken cancellationToken) { var cakes = await this.context.ShoppingCarts.Where(s => s.CustomerId == request.CustomerId).ToArrayAsync(); this.context.ShoppingCarts.RemoveRange(cakes); await context.SaveChangesAsync(cancellationToken); return(Unit.Value); }
public async Task <Unit> Handle(CreateCommentCommand request, CancellationToken cancellationToken) { _context.Comments.Add(new Comment { Content = request.Content, Replies = new List <Reply>(), SubmitTime = DateTime.UtcNow, TopicId = request.TopicId }); await _context.SaveChangesAsync(cancellationToken); return(Unit.Value); }
public async Task <Unit> Handle(CreateTopicCommand request, CancellationToken cancellationToken) { _context.Topics.Add(new Topic { Name = request.Name, Category = request.Category, Content = request.Content, CustomerId = request.CustomerId, Comments = new List <Comment>(), SubmitTime = DateTime.UtcNow }); await _context.SaveChangesAsync(cancellationToken); return(Unit.Value); }
public async Task <Unit> Handle(RemoveTopicCommand request, CancellationToken cancellationToken) { Topic topic = await _context.Topics.FindAsync(request.Id); var comments = topic.Comments; foreach (var comment in comments) { foreach (var reply in _context.Replies.Where(r => r.CommentId == comment.Id)) { _context.Replies.Remove(reply); } } _context.Comments.RemoveRange(comments); _context.Topics.Remove(topic); await _context.SaveChangesAsync(cancellationToken); return(Unit.Value); }
public async Task <Unit> Handle(EditTopicCommand request, CancellationToken cancellationToken) { Topic topic = await _context.Topics.FindAsync(request.Id); if (!string.IsNullOrWhiteSpace(request.Name)) { topic.Name = request.Name; } if (!string.IsNullOrWhiteSpace(request.Category)) { topic.Category = request.Category; } if (!string.IsNullOrWhiteSpace(request.Content)) { topic.Content = request.Content; } _context.Topics.Update(topic); await _context.SaveChangesAsync(cancellationToken); return(Unit.Value); }