Пример #1
0
        // 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);
            }
        }