public ActionResult PagoTardio(string pago, int? id) { _orden.actualizarMetodoDePago(id, pago, HttpContext); switch (pago) { case "Paypal": var paypal = new metodoPagoPayPal(Url.Action("PayPal", "Comprar", new { Area = "CheckOut" }).ToString()); return paypal.result; case "Deposito": return new metodoPagoDeposito(Url.Action("Deposito", "Comprar", new { Area = "CheckOut", metodo = pago }).ToString()).result; case "Credito": return new metodoPagoTarjeta(Url.Action("PayPal", "Comprar", new { Area = "CheckOut" }).ToString()).result; default: break; } return View(); }
public ActionResult Comprar(CompraModel model) { if (model.idEnvio == 0) { return RedirectToAction("Resumen", "Comprar", new { cupon = _cupon }); } decimal descuento = 0; model.cupon = _cupon; model.email = User.Identity.Name; var carro = CarroCompras._CarroCompras(HttpContext); if (!carro.cargaItems().Any()) return DetalleCarro; carro.AgregarCupon(_cupon, HttpContext, out descuento); model.total = carro.cargaTotal(); _orden.guardarOrden(model, carro.cargaId(HttpContext), userId, descuento, HttpContext); //El id de orden se ha almacenado de forma temporal //Vaciar carro != cancelarCom carro.vaciarCarro(); limpiarCupon(); switch (model.pago) { case "Paypal": var paypal = new metodoPagoPayPal(Url.Action("PayPal", "Comprar", new { Area = "CheckOut" }).ToString()); return paypal.result; case "Deposito": return new metodoPagoDeposito(Url.Action("Deposito", "Comprar", new { Area = "CheckOut" }).ToString()).result; case "Credito": return new metodoPagoTarjeta(Url.Action("Credito", "Comprar", new { Area = "CheckOut" }).ToString()).result; default: break; } return View(model); }