public OrderWriter(IWritterRepository <Order, OrderId> orderRepository, ITransientDomainEventSubscriber subscriber, IEnumerable <IDomainEventHandler <OrderId, OrderCreated> > orderCreatedEventHandlers, IEnumerable <IDomainEventHandler <OrderId, ProductAdded> > productAddedEventHandlers, IEnumerable <IDomainEventHandler <OrderId, ProductQuantityChanged> > productQuantityChangedEventHandlers) { this.orderRepository = orderRepository; this.subscriber = subscriber; this.orderCreatedEventHandlers = orderCreatedEventHandlers; this.productAddedEventHandlers = productAddedEventHandlers; this.productQuantityChangedEventHandlers = productQuantityChangedEventHandlers; }
public CartWriter(IRepository <Cart, CartId> cartRepository, ITransientDomainEventSubscriber subscriber, IEnumerable <IDomainEventHandler <CartId, CartCreatedEvent> > cartCreatedEventHandlers, IEnumerable <IDomainEventHandler <CartId, ProductAddedEvent> > productAddedEventHandlers, IEnumerable <IDomainEventHandler <CartId, ProductQuantityChangedEvent> > productQuantityChangedEventHandlers) { this.cartRepository = cartRepository; this.subscriber = subscriber; this.cartCreatedEventHandlers = cartCreatedEventHandlers; this.productAddedEventHandlers = productAddedEventHandlers; this.productQuantityChangedEventHandlers = productQuantityChangedEventHandlers; }
public ProductWriteService(IRepository <Product, ProductId> ProductRepository, ITransientDomainEventSubscriber subscriber, IEnumerable <IDomainEventHandler <ProductId, ProductItemCreated> > ProductCreatedEventHandlers, IEnumerable <IDomainEventHandler <ProductId, ProductItemChanged> > productAddedEventHandlers, IEnumerable <IDomainEventHandler <ProductId, ProductPriceChanged> > productQuantityChangedEventHandlers) { this.ProductRepository = ProductRepository; this.subscriber = subscriber; this.productCreatedEventHandlers = ProductCreatedEventHandlers; this.productAddedEventHandlers = productAddedEventHandlers; this.productQuantityChangedEventHandlers = productQuantityChangedEventHandlers; subscriber.Subscribe <ProductItemCreated>(async @event => await HandleAsync(productCreatedEventHandlers, @event)); subscriber.Subscribe <ProductItemChanged>(async @event => await HandleAsync(productAddedEventHandlers, @event)); subscriber.Subscribe <ProductPriceChanged>(async @event => await HandleAsync(productQuantityChangedEventHandlers, @event)); }