@@ -41,7 +41,7 @@ await Capture(() => httpClient.PostAsync("https://someurl.com", content), RetryP
4141### Messages
4242Wait for retrieval of external message - without consuming resources:
4343``` csharp
44- var fundsReserved = await Messages <FundsReserved >(timesOutIn : TimeSpan .FromMinutes (5 ));
44+ var fundsReserved = await Message <FundsReserved >(waitFor : TimeSpan .FromMinutes (5 ));
4545```
4646### Suspension
4747Suspends execution for a given duration (without taking up in-memory resources) - after which it will resume automatically from the same point.
@@ -85,14 +85,14 @@ public class OrderFlow(
8585{
8686 public override async Task Run (Order order )
8787 {
88- var transactionId = Capture (() => Guid .NewGuid () ); // generated transaction id is fixed after this statement
88+ var transactionId = await Capture (Guid .NewGuid ); // generated transaction id is fixed after this statement
8989
9090 await paymentProviderClient .Reserve (order .CustomerId , transactionId , order .TotalPrice );
91- var trackAndTrace = await Capture (
92- () => paymentProviderClient . Capture ( transactionId ),
91+ var trackAndTrace = await Capture (
92+ () => logisticsClient . ShipProducts ( order . CustomerId , order . ProductIds ),
9393 ResiliencyLevel .AtMostOnce
9494 ); // external calls can also be captured - will never be called multiple times
95-
95+ await paymentProviderClient . Capture ( transactionId );
9696 await emailClient .SendOrderConfirmation (order .CustomerId , trackAndTrace , order .ProductIds );
9797 }
9898}
@@ -140,14 +140,14 @@ public class OrderFlow(
140140{
141141 public override async Task Run (Order order )
142142 {
143- var transactionId = Capture (() => Guid .NewGuid );
143+ var transactionId = await Capture (Guid .NewGuid );
144144
145145 await paymentProviderClient .Reserve (order .CustomerId , transactionId , order .TotalPrice );
146146 var trackAndTrace = await Capture (
147- () => paymentProviderClient . Capture ( transactionId ),
147+ () => logisticsClient . ShipProducts ( order . CustomerId , order . ProductIds ),
148148 ResiliencyLevel .AtMostOnce
149149 );
150-
150+ await paymentProviderClient . Capture ( transactionId );
151151 await emailClient .SendOrderConfirmation (order .CustomerId , trackAndTrace , order .ProductIds );
152152 }
153153}
@@ -183,7 +183,7 @@ The implemented flow can then be started using the corresponding source generate
183183public class OrderController(Flows <OrderFlow , Order > orderFlows ) : ControllerBase
184184{
185185 [HttpPost ]
186- public async Task Post (Order order ) => await _orderFlows .Run (order .OrderId , order );
186+ public async Task Post (Order order ) => await orderFlows .Run (order .OrderId , order );
187187}
188188```
189189
@@ -414,9 +414,9 @@ public async Task ProcessOrder(Order order)
414414{
415415 Log .Logger .Information ($" ORDER_PROCESSOR: Processing of order '{order .OrderId }' started" );
416416
417- var transactionId = Effect . Capture (" TransactionId" , Guid .NewGuid );
418-
419- await paymentProviderClient .Reserve (transactionId , order .CustomerId , order .TotalPrice );
417+ var transactionId = await Capture (" TransactionId" , Guid .NewGuid );
418+
419+ await paymentProviderClient .Reserve (order .CustomerId , transactionId , order .TotalPrice );
420420 await logisticsClient .ShipProducts (order .CustomerId , order .ProductIds );
421421 await paymentProviderClient .Capture (transactionId );
422422 await emailClient .SendOrderConfirmation (order .CustomerId , order .ProductIds );
@@ -443,15 +443,15 @@ public async Task ProcessOrder(Order order)
443443 Log .Logger .Information ($" ORDER_PROCESSOR: Processing of order '{order .OrderId }' started" );
444444
445445 var transactionId = await Capture (" TransactionId" , Guid .NewGuid );
446- await _paymentProviderClient .Reserve (order .CustomerId , transactionId , order .TotalPrice );
446+ await paymentProviderClient .Reserve (order .CustomerId , transactionId , order .TotalPrice );
447447
448448 await Capture (
449449 id : " ShipProducts" ,
450- work : () => _logisticsClient .ShipProducts (order .CustomerId , order .ProductIds )
450+ work : () => logisticsClient .ShipProducts (order .CustomerId , order .ProductIds )
451451 );
452-
453- await _paymentProviderClient .Capture (transactionId );
454- await _emailClient .SendOrderConfirmation (order .CustomerId , order .ProductIds );
452+
453+ await paymentProviderClient .Capture (transactionId );
454+ await emailClient .SendOrderConfirmation (order .CustomerId , order .ProductIds );
455455
456456 Log .Logger .ForContext <OrderProcessor >().Information ($" Processing of order '{order .OrderId }' completed" );
457457}
@@ -494,16 +494,16 @@ public async Task ProcessOrder(Order order)
494494 Log .Logger .Information ($" ORDER_PROCESSOR: Processing of order '{order .OrderId }' started" );
495495
496496 await _bus .Send (new ReserveFunds (order .OrderId , order .TotalPrice , Scrapbook .TransactionId , order .CustomerId ));
497- await Messages . NextOfType <FundsReserved >();
497+ await Message <FundsReserved >();
498498
499499 await _bus .Send (new ShipProducts (order .OrderId , order .CustomerId , order .ProductIds ));
500- await Messages . NextOfType <ProductsShipped >();
500+ await Message <ProductsShipped >();
501501
502502 await _bus .Send (new CaptureFunds (order .OrderId , order .CustomerId , Scrapbook .TransactionId ));
503- await Messages . NextOfType <FundsCaptured >();
503+ await Message <FundsCaptured >();
504504
505505 await _bus .Send (new SendOrderConfirmationEmail (order .OrderId , order .CustomerId ));
506- await Messages . NextOfType <OrderConfirmationEmailSent >();
506+ await Message <OrderConfirmationEmailSent >();
507507
508508 Log .Logger .ForContext <OrderProcessor >().Information ($" Processing of order '{order .OrderId }' completed" );
509509}
0 commit comments