예제 #1
0
        public string Finalize()
        {
            ShippingProvider shippingProvider = purchaseProviderFactory.CreateShippingProvider(order.Sender.Country);
            var invoice = purchaseProviderFactory.CreateInvoice(order);

            // Send invoice

            invoice.GenerateInvoice();

            var summary = purchaseProviderFactory.CreateSummary(order);

            summary.Send();

            // Send summary

            order.ShippingStatus = ShippingStatus.ReadyForShippment;

            return(shippingProvider.GenerateShippingLabelFor(order));
        }