public Task HandleAsync( OrderStatusChangedToCancelledIntegrationEvent integrationEvent) { // Save the updated status in the read model and notify the client via SignalR. return(UpdateReadModelAndSendNotificationAsync(integrationEvent.OrderId, integrationEvent.OrderStatus, integrationEvent.Description, integrationEvent.BuyerId)); }
public async Task Handle(OrderCancelledDomainEvent orderCancelledDomainEvent, CancellationToken cancellationToken) { var order = await _orderRepository.GetAsync(orderCancelledDomainEvent.Order.Id); var buyer = await _buyerRepository.FindByIdAsync(order.GetBuyerId.Value.ToString()); var orderStatusChangedToCancelledIntegrationEvent = new OrderStatusChangedToCancelledIntegrationEvent(order.Id, order.OrderStatus.Name, buyer.Name); await _messageOutbox.Send(orderStatusChangedToCancelledIntegrationEvent); }
public async Task Handle(OrderCancelledDomainEvent orderCancelledDomainEvent, CancellationToken cancellationToken) { _logger.CreateLogger(nameof(OrderCancelledDomainEvent)) .LogTrace($"Order with Id: {orderCancelledDomainEvent.Order.Id} has been successfully updated with " + $"a status order id: {OrderStatus.Shipped.Id}"); var order = await _orderRepository.GetAsync(orderCancelledDomainEvent.Order.Id); var buyer = await _buyerRepository.FindByIdAsync(order.GetBuyerId.Value.ToString()); var orderStatusChangedToCancelledIntegrationEvent = new OrderStatusChangedToCancelledIntegrationEvent(order.Id, order.OrderStatus.Name, buyer.Name); await _orderingIntegrationEventService.AddAndSaveEventAsync(orderStatusChangedToCancelledIntegrationEvent); }
public async Task Handle(OrderCancelledDomainEvent domainEvent, CancellationToken cancellationToken) { _logger.CreateLogger <OrderCancelledDomainEvent>() .LogTrace("Order with Id: {OrderId} has been successfully updated to status {Status} ({Id})", domainEvent.Order.Id, nameof(OrderStatus.Cancelled), OrderStatus.Cancelled.Id); var order = await _orderRepository.GetAsync(domainEvent.Order.Id); var buyer = await _buyerRepository.FindByIdAsync(order.GetBuyerId.Value.ToString()); var integrationEvent = new OrderStatusChangedToCancelledIntegrationEvent(order.Id, order.OrderStatus.Name, buyer.Name); await _orderingIntegrationEventService.AddAndSaveEventAsync(integrationEvent); await Task.CompletedTask; }
public async Task OrderStarted(OrderStatusChangedToCancelledIntegrationEvent @event) { var handler = _serviceProvider.GetRequiredService <OrderStatusChangedToCancelledIntegrationEventHandler>(); await handler.Handle(@event); }