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)); }
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)); } }
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)); }