Example #1
0
        static void Main(string[] args)
        {
            IUnityContainer container = new UnityContainer();

            container.RegisterType <IStoreRepository, StoreRepository>()
            .RegisterType <ICommerceManager, CommerceManager>()
            .RegisterType <IMailer, Mailer>()
            .RegisterType <IPaymentProcessor, PaymentProcessor>();



            OrderData orderData = new OrderData()
            {
                CustomerEmail = "*****@*****.**",
                LineItems     = new List <OrderLineItemData>()
                {
                    new OrderLineItemData()
                    {
                        Sku = 102, PurchasePrice = 479.00, Quantity = 1
                    },
                    new OrderLineItemData()
                    {
                        Sku = 101, PurchasePrice = 659.00, Quantity = 2
                    },
                    new OrderLineItemData()
                    {
                        Sku = 103, PurchasePrice = 529.00, Quantity = 1
                    },
                    new OrderLineItemData()
                    {
                        Sku = 104, PurchasePrice = 609.00, Quantity = 3
                    }
                },
                CreditCard     = "1234123412341234",
                ExpirationDate = "1217"
            };

            ICommerceManager commerceEngine = container.Resolve <ICommerceManager>();

            commerceEngine.ProcessOrder(orderData);

            Console.WriteLine();
            Console.WriteLine("Press [Enter] to exit.");
            Console.ReadLine();
        }
        static void Main(string[] args)
        {
            UnityContainer container = new UnityContainer();

            container.RegisterType <IStoreRepository, StoreRepository>()
            .RegisterType <ICommerceManager, CommerceManager>()
            .RegisterType <IConfigurationFactory, ConfigurationFactory>();

            OrderData orderData = new OrderData()
            {
                CustomerEmail = "*****@*****.**",
                LineItems     = new List <OrderLineItemData>()
                {
                    new OrderLineItemData()
                    {
                        Sku = 102, PurchasePrice = 100, Quantity = 1
                    },
                    new OrderLineItemData()
                    {
                        Sku = 101, PurchasePrice = 10, Quantity = 1
                    },
                    new OrderLineItemData()
                    {
                        Sku = 103, PurchasePrice = 10, Quantity = 1
                    },
                },
                CreditCard     = "1234567891234213",
                ExpirationDate = "1217"
            };

            ICommerceManager commerceEngine = container.Resolve <ICommerceManager>();

            commerceEngine.ProcessOrder(orderData);

            Console.WriteLine();
            Console.WriteLine("Press [Enter] to exit.");
            Console.ReadLine();
        }