public int Handle(AddReviewCommand command)
        {
            // command validation
            var review = new Review(command.ProductId, command.UserId, command.Rating);

            _database.Reviews.Add(review);
            _database.SaveChanges();


            var @event = new ReviewAddedEvent(review.Id, review.UserId, review.ProductId, review.Rating);

            _mediator.Publish(@event);

            return(review.Id);
        }
Ejemplo n.º 2
0
 public void Apply(ReviewAddedEvent @event)
 {
     Count++;
     Sum    += @event.Rating;
     Average = Sum / Count;
 }
Ejemplo n.º 3
0
 public void Apply(ReviewAddedEvent @event)
 {
     Review.Apply(@event);
 }