static void Main(string[] args)
        {
            #region Create Order
            Console.Write("Recipient Country: ");
            var recipientCountry = Console.ReadLine().Trim();

            Console.Write("Sender Country: ");
            var senderCountry = Console.ReadLine().Trim();

            Console.Write("Total Order Weight: ");
            var totalWeight = Convert.ToInt32(Console.ReadLine().Trim());

            var order = new Order
            {
                Recipient = new Address
                {
                    To      = "Filip Ekberg",
                    Country = recipientCountry
                },

                Sender = new Address
                {
                    To      = "Someone else",
                    Country = senderCountry
                },

                TotalWeight = totalWeight
            };

            order.LineItems.Add(new Item("CSHARP_SMORGASBORD", "C# Smorgasbord", 100m), 1);
            order.LineItems.Add(new Item("CONSULTING", "Building a website", 100m), 1);
            #endregion

            var fp = new PurchaseProviderFactoryProvider();
            IPurchaseProviderFactory purchaseProviderFactory = fp.CreateFactory(order.Sender.Country);
Ejemplo n.º 2
0
        private ShoppingCart CreateShoppingCart(IPurchaseProviderFactory purchaseProviderFactory = null)
        {
            var orderFactory = new StandardOrderFactory();

            var order = orderFactory.GetOrder();

            var provider = purchaseProviderFactory ?? new SwedenPurchaseProviderFactory();

            var cart = new ShoppingCart(order, provider);

            return(cart);
        }
 public ShoppingCart(Order order, IPurchaseProviderFactory purchaseProviderFactory)
 {
     this.order = order;
     this.purchaseProviderFactory = purchaseProviderFactory;
 }
Ejemplo n.º 4
0
 public ShoppingCart(Order order, IPurchaseProviderFactory shippingProviderFactory)
 {
     _shippingProviderFactory = shippingProviderFactory;;
     this.order = order;
 }