コード例 #1
0
        /// <summary>
        /// Initializes the order processing.
        /// </summary>
        public void InitializeOrderProcessing()
        {
            //Console.WriteLine("Press 1 to process PhysicalPayment.\nPress 2 to process Book payment. \nPress 3 to process basic MemeberShipPayment.", ConsoleColor.Blue);
            //Console.WriteLine("Press 4 to process Premium Membership payment.\nPress 5 to process LearningToSkiVideo. \nPress 6 to process OtherVideo.,\nPress -1 to Quit.", ConsoleColor.Blue);
            Console.WriteLine(Constants.ProductOptions);
            Console.WriteLine("Please enter type of payment to Process");

            int choice = Convert.ToInt32(Console.ReadLine());

            while (choice != -1)
            {
                // For demo process all requests
                switch (choice)
                {
                case 0:
                    RunAllPaymentOrders();
                    break;

                case 1:
                    postOrderProcessing = new PhysicalProductProcessor(packingSlipGenerator);
                    postOrderProcessing.PostOrderProcessing();
                    break;

                case 2:
                    postOrderProcessing = new BookProcessing(packingSlipGenerator);
                    postOrderProcessing.PostOrderProcessing();
                    break;

                case 3:
                    postOrderProcessing = new MembershipProcessor(notificationService, MembershipType.Basic);
                    postOrderProcessing.PostOrderProcessing();
                    break;

                case 4:
                    postOrderProcessing = new MembershipProcessor(notificationService, MembershipType.Premium);
                    postOrderProcessing.PostOrderProcessing();
                    break;

                case 5:
                    postOrderProcessing = new VideoProcessor(VideoType.LearningToSki);
                    postOrderProcessing.PostOrderProcessing();
                    break;

                case 6:
                    postOrderProcessing = new VideoProcessor(VideoType.Others);
                    postOrderProcessing.PostOrderProcessing();
                    break;

                default:
                    Console.WriteLine("Invalid selection");
                    break;
                }
                Console.WriteLine("Please enter type of payment to Process");
                choice = Convert.ToInt32(Console.ReadLine());
            }

            Console.ReadLine();
        }
コード例 #2
0
        /// <summary>
        /// Runs all payment orders. Demo purpose
        /// </summary>
        public void RunAllPaymentOrders()
        {
            Console.WriteLine("----------------------{0}----------------------------", "Process PhysicalOrder");
            //// Process PhysicalOrder
            postOrderProcessing = new PhysicalProductProcessor(packingSlipGenerator);
            postOrderProcessing.PostOrderProcessing();
            Console.WriteLine();

            Console.WriteLine("----------------------{0}----------------------------", "Process Book PhysicalOrder");
            //// Process Book Order
            postOrderProcessing = new BookProcessing(packingSlipGenerator);
            postOrderProcessing.PostOrderProcessing();
            Console.WriteLine();

            Console.WriteLine("----------------------{0}----------------------------", "Process Basic Membership Order");
            //// Process Basic Membership
            postOrderProcessing = new MembershipProcessor(notificationService, MembershipType.Basic);
            postOrderProcessing.PostOrderProcessing();
            Console.WriteLine();

            Console.WriteLine("----------------------{0}----------------------------", "Process Premium membership");
            //// Process Premium Membership
            postOrderProcessing = new MembershipProcessor(notificationService, MembershipType.Premium);
            postOrderProcessing.PostOrderProcessing();
            Console.WriteLine();

            Console.WriteLine("----------------------{0}----------------------------", "Process Learning to ski video");
            //// Process Learning to Ski video
            postOrderProcessing = new VideoProcessor(VideoType.LearningToSki);
            postOrderProcessing.PostOrderProcessing();
            Console.WriteLine();

            Console.WriteLine("----------------------{0}----------------------------", "Process Other Video");
            //// Process Learning to other video
            postOrderProcessing = new VideoProcessor(VideoType.Others);
            postOrderProcessing.PostOrderProcessing();
        }