public Task HandleAsync(OrderApproved message, ISagaContext context) { _logger.LogInformation($"Completed a saga for order: {Data.OrderId}, customer: {Data.CustomerId}," + $"parcels: {string.Join(", ", Data.ParcelIds)}"); return(CompleteAsync()); }
public void ProcessOrders() { foreach (var order in _orders) { //process orders Thread.Sleep(1000); OrderApproved?.Invoke(this, new OrderEventArgs(order.Id, order.CustomerName)); } }
public void Setup() { neverMatches = new object(); orderAccepted = new OrderAccepted(); orderDeclined = new OrderDeclined(); orderApproved = new OrderApproved(); extractorBase = new ExtractorUsingPatternMatching(); extractorForeach = new ExtractorUsingForEach(); }
public void Handle(OrderApproved message) { Receive(message, m => { OrderApproved = true; if (IsCancelled) { ProcessCancellation(); } else { CheckForSuccess(); } }); }
public Task CompensateAsync(OrderApproved message, ISagaContext context) => Task.CompletedTask;
public Task HandleAsync(OrderApproved @event) => _coordinator.ProcessAsync(@event, SagaContext.Empty);
public void Handle(OrderApproved e) { this.billingSystem.NotifyAccounting(e.OrderId, "Approved"); }