public ActionResult DeleteConfirmed(decimal id) { CARRITOCOMPRA cARRITOCOMPRA = db.CARRITOCOMPRA.Find(id); db.CARRITOCOMPRA.Remove(cARRITOCOMPRA); db.SaveChanges(); return(RedirectToAction("Index")); }
public ActionResult Edit([Bind(Include = "IDCARRITO,IDTARIFAENVIO,IDUSUARIO,ENVIO,SUBTOTAL,LUGARENTREGA,METODOPAGO,TOTAL")] CARRITOCOMPRA cARRITOCOMPRA) { if (ModelState.IsValid) { db.Entry(cARRITOCOMPRA).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } ViewBag.IDTARIFAENVIO = new SelectList(db.TARIFAENVIO, "IDTARIFA", "NOMBRETARIFA", cARRITOCOMPRA.IDTARIFAENVIO); ViewBag.IDUSUARIO = new SelectList(db.USUARIO, "IDUSUARIO", "USERNAME", cARRITOCOMPRA.IDUSUARIO); return(View(cARRITOCOMPRA)); }
// GET: CarritosCompras/Details/5 public ActionResult Details(decimal id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } CARRITOCOMPRA cARRITOCOMPRA = db.CARRITOCOMPRA.Find(id); if (cARRITOCOMPRA == null) { return(HttpNotFound()); } return(View(cARRITOCOMPRA)); }
// GET: CarritosCompras/Edit/5 public ActionResult Edit(decimal id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } CARRITOCOMPRA cARRITOCOMPRA = db.CARRITOCOMPRA.Find(id); if (cARRITOCOMPRA == null) { return(HttpNotFound()); } ViewBag.IDTARIFAENVIO = new SelectList(db.TARIFAENVIO, "IDTARIFA", "NOMBRETARIFA", cARRITOCOMPRA.IDTARIFAENVIO); ViewBag.IDUSUARIO = new SelectList(db.USUARIO, "IDUSUARIO", "USERNAME", cARRITOCOMPRA.IDUSUARIO); return(View(cARRITOCOMPRA)); }
//FUNCIONAMIENTO DE CARRITO // GET: Ver public ActionResult Ver(decimal id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } CARRITOCOMPRA carrito = db.CARRITOCOMPRA.Find(id); if (carrito == null) { return(HttpNotFound()); } List <DETALLECARRITO> lsDetalle = db.DETALLECARRITO.Where(m => m.IDCARRITO == id).ToList(); ViewBag.ListaCarrito = lsDetalle; return(View(carrito)); }
public ActionResult Carrito(int idcarrito) { try { CARRITOCOMPRA carro = db.CARRITOCOMPRA.Find(idcarrito); ViewBag.idCarro = idcarrito; List <PRODUCTO> lsprod = new List <PRODUCTO>(); List <DETALLECARRITO> lsDetalle = carro.DETALLECARRITO.ToList(); List <TARIFAENVIO> lsTarifa = db.TARIFAENVIO.ToList(); decimal idproducto, total = 0; PRODUCTO productoAux; foreach (DETALLECARRITO detalleAux in lsDetalle) { idproducto = detalleAux.IDPRODUCTO; productoAux = db.PRODUCTO.Find(idproducto); if (productoAux != null) { lsprod.Add(productoAux); total += productoAux.PRECIOUNIT * detalleAux.CANTIDADPROD; } } ViewBag.subtotal = carro.SUBTOTAL = total; ViewBag.lsta = lsprod; ViewBag.Tarifas = lsTarifa; ViewBag.tarif = lsTarifa.First().VALORTARIFA; ViewBag.habilitar = true; if (lsDetalle.Count == 0) { ViewBag.habilitar = false; } return(View(carro.DETALLECARRITO)); } catch { ViewBag.MensajeError = "No hay carrito que mostrar"; ViewBag.BoolError = true; return(View(new CARRITOCOMPRA().DETALLECARRITO)); } }
public void Session_Start() { //inicializa las cookies carrito = new HttpCookie("CarritoCompra"); cantCarrito = new HttpCookie("CantidadCarrito"); //obtener cookie "CarritoCompra" de la request HttpCookie ckRequest = Request.Cookies["CarritoCompra"]; //si la cookie de la request es nula, añadir nueva if (ckRequest == null) { id = 1; if (db.CARRITOCOMPRA.Count() != 0) { id = db.CARRITOCOMPRA.Max(p => p.IDCARRITO) + 1; } //se llena cookie con la información carrito.Value = id.ToString(); carrito.Expires = DateTime.Now.AddYears(1); Response.Cookies.Set(carrito); cantCarrito.Value = "0"; cantCarrito.Expires = DateTime.Now.AddYears(1); Response.Cookies.Set(cantCarrito); CARRITOCOMPRA aux = new CARRITOCOMPRA(); aux.IDCARRITO = id; aux.IDTARIFAENVIO = 1; aux.IDUSUARIO = 1; aux.USUARIO = db.USUARIO.Find(1); aux.TARIFAENVIO = db.TARIFAENVIO.Find(1); if (aux.TARIFAENVIO == null) { if (db.REGION.Count() == 0) { REGION region = new REGION(); region.NOMBREREGION = "Región por defecto"; db.REGION.Add(region); db.SaveChanges(); } if (db.TARIFAENVIO.Count() == 0) { TARIFAENVIO tarifaInicial = new TARIFAENVIO(); tarifaInicial.NOMBRETARIFA = "Sin Tarifa - 0"; tarifaInicial.VALORTARIFA = 0; tarifaInicial.IDREGION = 1; db.TARIFAENVIO.Add(tarifaInicial); db.SaveChanges(); } aux.TARIFAENVIO = db.TARIFAENVIO.Find(1); } if (aux.USUARIO == null) { USUARIO usuarioInicial = new USUARIO(); usuarioInicial.USERNAME = "******"; usuarioInicial.PRIMERNOMBRE = "Visitante"; usuarioInicial.PRIMERAPELLIDO = "Ventas Web"; usuarioInicial.DIRECCION = "Ventas Web"; usuarioInicial.CIUDAD = "Ciudad Visitante"; usuarioInicial.PROVINCIA = "Provincia Visitante"; usuarioInicial.TELEFONO = "telefono"; usuarioInicial.PAIS = "Pais Visitante"; usuarioInicial.EMAIL = "*****@*****.**"; db.USUARIO.Add(usuarioInicial); db.SaveChanges(); aux.USUARIO = db.USUARIO.Find(1); } //carro.IDCARRITO = id; db.CARRITOCOMPRA.Add(aux); db.SaveChanges(); } else { //obtener el valor de cookie en un auxiliar id = decimal.Parse(ckRequest.Value); //intentar obtener el carrito de compra con el valor de cookie CARRITOCOMPRA verificarCarrito = db.CARRITOCOMPRA.Find(id); //validar (caso 1: es válida) if (verificarCarrito != null && verificarCarrito.IDCARRITO == id) { Response.Cookies["CarritoCompra"].Value = ckRequest.Value; Response.Cookies["CarritoCompra"].Expires = DateTime.Now.AddYears(1); } //sin embargo, (Caso 2: no es válida) else { //añade a la base un registro vacío de carrito (genera id en base) //obtiene el id del ultimo carrito registrado (se guarda en id id = 1; if (db.CARRITOCOMPRA.Count() != 0) { id = db.CARRITOCOMPRA.Max(p => p.IDCARRITO) + 1; } //se llena cookie con la información Response.Cookies["CarritoCompra"].Value = id.ToString(); Response.Cookies["CarritoCompra"].Expires = DateTime.Now.AddYears(1); Response.Cookies["CantidadCarrito"].Value = "0"; CARRITOCOMPRA aux = new CARRITOCOMPRA(); aux.IDTARIFAENVIO = 1; aux.IDUSUARIO = 1; aux.USUARIO = db.USUARIO.Find(1); aux.TARIFAENVIO = db.TARIFAENVIO.Find(1); if (aux.TARIFAENVIO == null) { if (db.REGION.Count() == 0) { REGION region = new REGION(); region.NOMBREREGION = "Región por defecto"; db.REGION.Add(region); db.SaveChanges(); } if (db.TARIFAENVIO.Count() == 0) { TARIFAENVIO tarifaInicial = new TARIFAENVIO(); tarifaInicial.NOMBRETARIFA = "Sin Tarifa - 0"; tarifaInicial.VALORTARIFA = 0; tarifaInicial.IDREGION = 1; db.TARIFAENVIO.Add(tarifaInicial); db.SaveChanges(); } aux.TARIFAENVIO = db.TARIFAENVIO.Find(1); } if (aux.USUARIO == null) { USUARIO usuarioInicial = new USUARIO(); usuarioInicial.USERNAME = "******"; usuarioInicial.PRIMERNOMBRE = "Visitante"; usuarioInicial.PRIMERAPELLIDO = "Ventas Web"; usuarioInicial.DIRECCION = "Ventas Web"; usuarioInicial.CIUDAD = "Ciudad Visitante"; usuarioInicial.PROVINCIA = "Provincia Visitante"; usuarioInicial.TELEFONO = "telefono"; usuarioInicial.PAIS = "Pais Visitante"; usuarioInicial.EMAIL = "*****@*****.**"; db.USUARIO.Add(usuarioInicial); db.SaveChanges(); aux.USUARIO = db.USUARIO.Find(1); } //carro.IDCARRITO = id; db.CARRITOCOMPRA.Add(aux); db.SaveChanges(); } } }
public ActionResult Pagar() { CARRITOCOMPRA carro = db.CARRITOCOMPRA.Find(decimal.Parse(Request.Cookies["CarritoCompra"].Value)); return(View(carro)); }
//FUNCIONAMIENTO DE CARRITO // GET: Descripcion del producto public ActionResult Producto(int id) { //obtiene cookie HttpCookie carrito = new HttpCookie("CarritoCompra"), cantCarrito = new HttpCookie("CantidadCarrito"); HttpCookie ckRequest = Request.Cookies.Get("CarritoCompra"); //valida id de carrito if (ckRequest.Value == null) { id = 1; if (db.CARRITOCOMPRA.Count() != 0) { id = Convert.ToInt32(db.CARRITOCOMPRA.Max(p => p.IDCARRITO)) + 1; } //se llena cookie con la información Response.Cookies["CarritoCompra"].Value = id.ToString(); Response.Cookies["CarritoCompra"].Expires = DateTime.Now.AddYears(1); Response.Cookies["CantidadCarrito"].Value = "0"; CARRITOCOMPRA aux = new CARRITOCOMPRA(); aux.IDCARRITO = id; aux.IDTARIFAENVIO = 1; aux.IDUSUARIO = 1; aux.USUARIO = db.USUARIO.Find(1); aux.TARIFAENVIO = db.TARIFAENVIO.Find(1); //carro.IDCARRITO = id; db.CARRITOCOMPRA.Add(aux); db.SaveChanges(); } //obtiene valor de cookie (id de carrito) decimal idCarrito = decimal.Parse(ckRequest.Value); //busca objeto carrito con el id CARRITOCOMPRA carro = db.CARRITOCOMPRA.Find(decimal.Parse(Request.Cookies["CarritoCompra"].Value)); //valida objeto carrito if (carro == null) { carro = new CARRITOCOMPRA(); idCarrito = db.CARRITOCOMPRA.Max(p => p.IDCARRITO) + 1; carro.IDCARRITO = idCarrito; carro.USUARIO = db.USUARIO.Find(1); carro.TARIFAENVIO = db.TARIFAENVIO.Find(1); carro.IDUSUARIO = 1; carro.IDTARIFAENVIO = 1; db.CARRITOCOMPRA.Add(carro); db.SaveChanges(); ckRequest.Value = idCarrito.ToString(); ckRequest.Expires = DateTime.Now.AddYears(1); Response.Cookies.Add(ckRequest); } //valida id de producto if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } //busca objeto producto con el id PRODUCTO pRODUCTO = db.PRODUCTO.Find(id); //valida objeto if (pRODUCTO == null) { //debe retornar no encontrado pues sería contradictorio que pudiera acceder al detalle de un producto que no existe return(HttpNotFound()); } //mete a viewbag producto y carrito ViewBag.PROD = pRODUCTO; ViewBag.CARR = carro; //manda detallecarro en view DETALLECARRITO detallecarro = new DETALLECARRITO(); return(View(detallecarro)); }
public ActionResult Carrito([Bind(Include = "IDCARRITO,IDTARIFAENVIO,ENVIO,SUBTOTAL,LUGARENTREGA,METODOPAGO")] CARRITOCOMPRA cARRITOCOMPRA) { List <CARRITOCOMPRA> listaCarritosQuery = db.CARRITOCOMPRA.Include(m => m.DETALLECARRITO).Where(m => m.IDCARRITO == cARRITOCOMPRA.IDCARRITO).ToList(); CARRITOCOMPRA carro = new CARRITOCOMPRA(); if (listaCarritosQuery != null && listaCarritosQuery.Count != 0) { carro = listaCarritosQuery.Last(); } else { return(RedirectToAction("Error")); } //Obtenido el carrito de la transacción //lista de salida de productos* List <PRODUCTO> lsprod = new List <PRODUCTO>(); //obtiene lista de todos los detalles de producto de la base List <DETALLECARRITO> lsDetalle = carro.DETALLECARRITO.ToList(); if (lsDetalle != null) { //obtiene todas las tarifas de envío List <TARIFAENVIO> lsTarifa = db.TARIFAENVIO.ToList(); //auxiliares decimal idproducto, subtotal = 0; PRODUCTO productoAux; //para cada uno de los elementos en lsDetalle foreach (DETALLECARRITO detalleAux in lsDetalle) { //obtiene el id de producto idproducto = detalleAux.IDPRODUCTO; //busca el producto con el id productoAux = db.PRODUCTO.Find(idproducto); //si lo encuentra if (productoAux != null) { //añadir el producto a la lista de salida de productos* lsprod.Add(productoAux); //aumentar el subtotal con cada producto que se encuentra subtotal += productoAux.PRECIOUNIT * detalleAux.CANTIDADPROD; } } //añadir el subtotal al carrito ViewBag.subtotal = carro.SUBTOTAL = subtotal; //se lleva a lista en una viewbag ViewBag.lsta = lsprod; if (lsprod == null) { return(RedirectToAction("Error")); } } //HASTA ACÁ SE TIENEN TODOS LOS PRODUCTOS PERTENECIENTES AL CARRITO //se obtiene el carrito de compra con el id provisto en el formulario //CARRITOCOMPRA result = db.CARRITOCOMPRA.SingleOrDefault(b => b.IDCARRITO == cARRITOCOMPRA.IDCARRITO); if (carro != null) { decimal total = 0; carro.IDTARIFAENVIO = cARRITOCOMPRA.IDTARIFAENVIO; carro.TARIFAENVIO = db.TARIFAENVIO.Find(cARRITOCOMPRA.IDTARIFAENVIO); carro.ENVIO = cARRITOCOMPRA.ENVIO; carro.SUBTOTAL = cARRITOCOMPRA.SUBTOTAL; carro.LUGARENTREGA = cARRITOCOMPRA.LUGARENTREGA; carro.METODOPAGO = cARRITOCOMPRA.LUGARENTREGA; var tarifa = carro.TARIFAENVIO; if (tarifa != null) { total = cARRITOCOMPRA.SUBTOTAL + tarifa.VALORTARIFA; ViewBag.total = total; } db.SaveChanges(); } return(RedirectToAction("Pagar")); }