Esempio n. 1
0
        static void Main(string [] args)
        {
            var product = string.Empty;
            var productStockRepository = new ProductStockRepository();

            //var orderManager = new OrderManager
            //    (
            //        productStockRepository,
            //        new PaymentProcessor(),
            //        new ShippingProcessor(productStockRepository)
            //    );

            var orderManager = Container.GetService <IOrderManager>();

            while (product != "exit")
            {
                Console.WriteLine(@"Enter a Product:
Keyboard = 0,
        Mouse = 1,
        Mic = 2,
        Speaker = 3
");
                product = Console.ReadLine();
                try
                {
                    if (Enum.TryParse(product, out Product productEnum))
                    {
                        Console.WriteLine("Please enter a valid payment method: XXXXXXXXXXXXXXXXXXXX;MMYY");
                        var paymentMethod = Console.ReadLine();
                        if (string.IsNullOrEmpty(paymentMethod) || paymentMethod.Split(";").Length != 2)
                        {
                            throw new Exception("Invalid Payment Method");
                        }
                        orderManager.Submit(productEnum, paymentMethod.Split(";")[0], paymentMethod.Split(";")[1]);
                        Console.WriteLine($"{productEnum.ToString()} has been shipped");
                    }
                    else
                    {
                        Console.WriteLine("Invalid Product");
                    }
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex.Message);
                }


                Console.WriteLine(Environment.NewLine);
            }
        }
Esempio n. 2
0
        static void Main(string[] args)
        {
            var product = string.Empty;
            var productStockRepository = new ProductStockRepository();
            var orderManager           = Container.GetService <IOrderManager>();

            while (product != "exit")
            {
                Console.WriteLine(@"Enter a Product: 
Keyboard = 0,
Mouse = 1,
Mic = 2,
Speaker = 3"
                                  );
                product = Console.ReadLine();

                try
                {
                    if (Enum.TryParse(product, out Product productEnum))
                    {
                        Console.WriteLine("Please enter a valid payment method: XXXXXXXXXXXXXXXX;MMYY");
                        var paymentMethod = Console.ReadLine();
                        if (string.IsNullOrEmpty(paymentMethod) || paymentMethod.Split(";").Length != 2)
                        {
                            throw new Exception("Invalid Payment Method");
                        }
                        string creditCardNumber = paymentMethod.Split(";")[0];
                        string expiryDate       = paymentMethod.Split(";")[1];
                        orderManager.Submit(productEnum, creditCardNumber, expiryDate);
                        Console.WriteLine("DONE");
                    }
                    else
                    {
                        Console.WriteLine("Invalid Product");
                    }
                }
                catch (Exception e)
                {
                    Console.WriteLine(e.Message);
                }
                Console.WriteLine(Environment.NewLine);
            }
        }