// Simulates persistence of tracking numbers for each item to a database. private static async Task PersistToDatabase(ItemTrackingDetail itemTrackingDetail) { // ... your DB code here //Simulate updating the order to the database. await Task.Delay(50); Console.WriteLine("Wrote tracking details to DB for order.", itemTrackingDetail.ShippingId); }
public IEnumerable <ItemTrackingDetail> ProcessShipDetails(List <ShipDetail> shipDetails, string carrierName) { foreach (var shipDetail in shipDetails) { var trackingDetail = new ItemTrackingDetail { CarrierName = carrierName, ShippingId = shipDetail.ShipId }; foreach (var item in shipDetail.Items) { trackingDetail.Items.Add(new ItemTrackingInfo { Sku = item.Sku, TrackingNumber = GenerateTrackingNumber() }); } yield return(trackingDetail); } }