Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
        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);
        }
Esempio n. 4
0
        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);
        }
Esempio n. 7
0
        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);
        }
Esempio n. 8
0
        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);
        }