Example #1
0
        public ActionResult ProcessOrder(string paymentmode)
        {
            Customer customer = new Customer();
            Address  address  = new Address();
            CardInfo cardinfo = null;

            Order order = new Order();

            order.OrderID         = new Random().Next(1000, 9000);
            order.Customer        = customer;
            order.ShippingAddress = address;
            order.CardInfo        = cardinfo;

            if (paymentmode == "card")
            {
                OnlineOrderProcessor oop = new OnlineOrderProcessor();
                cardinfo             = new CardInfo();
                cardinfo.CardNo      = "5555555555554444";
                cardinfo.ExpiryMonth = 12;
                cardinfo.ExpiryYear  = 2015;
                order.CardInfo       = cardinfo;

                oop.ValidateCardInfo(cardinfo);
                oop.ValidateShippingAddress(address);
                oop.ProcessOrder(order);
            }
            else
            {
                CashOnDeliveryOrderProcessor codop = new CashOnDeliveryOrderProcessor();
                codop.ValidateShippingAddress(address);
                codop.ProcessOrder(order);
            }

            return(View("Success", order));
        }
Example #2
0
        public IActionResult ProcessOrder(string type)
        {
            OrderProcessor processor = null;

            if (type == "store")
            {
                processor = new StoreOrderProcessor();
            }
            else
            {
                processor = new OnlineOrderProcessor();
            }
            int orderId = new Random().Next(100, 1000);

            processor.ProcessOrder(orderId);
            using (AppDbContext db = new AppDbContext())
            {
                List <OrderLog> logs = db.OrderLog.Where(o => o.OrderId == orderId).ToList();
                return(View("Success", logs));
            }
        }
Example #3
0
        public ActionResult ISP(string paymentMode)
        {
            switch (paymentMode)
            {
            case "cash":
                CashOnDeliveryOrderProcessor cp = new CashOnDeliveryOrderProcessor();
                cp.ValidateShippingAddress();
                cp.ProcessOrder();
                break;

            case "online":
                OnlineOrderProcessor op = new OnlineOrderProcessor();
                op.ValidateCardInfo();
                op.ValidateShippingAddress();
                op.ProcessOrder();
                break;
            }


            return(View());
        }
        public IActionResult ProcessOrder(string paymentMode)
        {
            var address  = new Address();
            var cardInfo = (CardInfo)null;

            var order = new Order
            {
                OrderId         = new Random().Next(1000, 9000),
                ShippingAddress = address,
                CardInfo        = cardInfo
            };

            if (paymentMode == "card")
            {
                var oop = new OnlineOrderProcessor();
                cardInfo = new CardInfo
                {
                    CardNo      = "123456789",
                    ExpiryMonth = 12,
                    ExpiryYear  = 2018
                };
                order.CardInfo = cardInfo;

                oop.ValidateCardInfo(cardInfo);
                oop.ValidateShippingAddress(address);
                oop.ProcessOrder(order);
            }
            else
            {
                var codop = new CashOnDeliveryOrderProcessor();
                codop.ValidateShippingAddress(address);
                codop.ProcessOrder(order);
            }

            return(View("Success", order));
        }