public ActionResult CargarProductoUnico() { ProductosCompraDTO _oProducto = TempData["oProductoUnico"] as ProductosCompraDTO; TempData.Keep("oProductoUnico"); TempData["lValidarCompraUnica"] = true; return(PartialView(_oProducto)); }
/// <summary> /// Método para obtener el producto desde la compra directa /// </summary> /// <param name="iIdProducto"></param> /// <param name="iCantidad"></param> /// <returns></returns> public ProductosCompraDTO ObtenerProductoCompraDirecta(int iIdProducto, int iCantidad) { ProductosCompraDTO _oProducto = db.tblCat_Producto.AsNoTracking().Where(p => p.iIdProducto == iIdProducto).Select(p => new ProductosCompraDTO { iIdProducto = p.iIdProducto, iCantidadSeleccion = iCantidad, dPrecioTotal = (iCantidad * p.dPrecio), cNombre = p.cNombre, cImagen = p.cImagen }).FirstOrDefault(); return(_oProducto); }
public ActionResult Inicio() { if (Session["iIdCliente"] != null) { if (TempData["lValidarCompra"] != null) { if (TempData["iIdProductoCompra"] == null) { int iIdCarrito = carrito.ObtenerCarrito(Convert.ToInt32(Session["iIdCliente"])); ViewBag.iTotalProductos = carrito.ObtenerTotalProductos(iIdCarrito); ViewBag.dSubTotalPrecio = carrito.ObtenerTotalPrecio(iIdCarrito); ViewBag.dTotalPrecio = carrito.ObtenerTotalPrecio(iIdCarrito) + 50; List <ProductosCompraDTO> _lstProductos = compra.ObtenerProductosCompra(iIdCarrito); return(View(_lstProductos)); } else { int iCantidad = Convert.ToInt32(Request["iCantidad"]); ProductosCompraDTO _oProducto = compra.ObtenerProductoCompraDirecta(Convert.ToInt32(TempData["iIdProductoCompra"]), iCantidad); TempData["oProductoUnico"] = _oProducto; ViewBag.iTotalProductos = iCantidad; ViewBag.dSubTotalPrecio = _oProducto.dPrecioTotal; ViewBag.dTotalPrecio = _oProducto.dPrecioTotal + 50; ViewBag.lValidarCompraDirecta = true; return(View()); } } else { return(RedirectToAction("Inicio", "Producto")); } } else { TempData["lConexion"] = true; return(RedirectToAction("Inicio", "Producto")); } }
/// <summary> /// Método para realizar la compra de un producto /// </summary> /// <param name="oProducto">Objeto con los datos del producto</param> /// <param name="iIdCompra">ID de la compra</param> public void RealizarCompraDirecta(ProductosCompraDTO oProducto, int iIdCompra) { tbl_DetalleCompra _oDetalleCompra = new tbl_DetalleCompra() { iIdCompra = iIdCompra, iIdProducto = oProducto.iIdProducto, iCantidad = oProducto.iCantidadSeleccion }; db.Entry(_oDetalleCompra).State = EntityState.Added; tblCat_Producto _oProducto = db.tblCat_Producto.AsNoTracking().FirstOrDefault(p => p.iIdProducto == _oDetalleCompra.iIdProducto); _oProducto.iCantidad -= _oDetalleCompra.iCantidad; db.Entry(_oProducto).State = EntityState.Modified; db.SaveChanges(); }
public JsonResult RealizarCompra() { string cMensaje; string cIcono; try { Nullable <bool> lValidarCompraUnica = TempData["lValidarCompraUnica"] as Nullable <bool>; if (lValidarCompraUnica != true) { string _cCompra = Request["oCompra"]; tblCat_Compra _oCompra = JsonConvert.DeserializeObject <tblCat_Compra>(_cCompra); int iIdCliente = Convert.ToInt32(Session["iIdCliente"]); int iIdCompra = compra.AgregarCompra(iIdCliente, _oCompra); int iIdCarrito = carrito.ObtenerCarrito(Convert.ToInt32(Session["iIdCliente"])); compra.RealizarCompraCarrito(iIdCarrito, iIdCompra); carrito.VaciarCarrito(iIdCarrito); MailMessage _mmMensaje = generar.GenerarPDF(iIdCompra); generar.EnviarCorreo(_mmMensaje); cMensaje = "Se ha realizado la compra!"; cIcono = "success"; } else if (lValidarCompraUnica == true) { string _cCompra = Request["oCompra"]; tblCat_Compra _oCompra = JsonConvert.DeserializeObject <tblCat_Compra>(_cCompra); int iIdCliente = Convert.ToInt32(Session["iIdCliente"]); int iIdCompra = compra.AgregarCompra(iIdCliente, _oCompra); ProductosCompraDTO _oProducto = TempData["oProductoUnico"] as ProductosCompraDTO; compra.RealizarCompraDirecta(_oProducto, iIdCompra); MailMessage _mmMensaje = generar.GenerarPDF(iIdCompra); generar.EnviarCorreo(_mmMensaje); cMensaje = "Se ha realizado la compra!"; cIcono = "success"; } else { cMensaje = "Ha ocurrido un error"; cIcono = "error"; } } catch (Exception e) { cMensaje = e.Message; cIcono = "error"; } return(Json(new { cMensaje, cIcono })); }