コード例 #1
0
        public ActionResult DeleteConfirmed(decimal id)
        {
            CARRITOCOMPRA cARRITOCOMPRA = db.CARRITOCOMPRA.Find(id);

            db.CARRITOCOMPRA.Remove(cARRITOCOMPRA);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
コード例 #2
0
 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));
 }
コード例 #3
0
        // 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));
        }
コード例 #4
0
        // 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));
        }
コード例 #5
0
        //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));
        }
コード例 #6
0
 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));
     }
 }
コード例 #7
0
        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();
                }
            }
        }
コード例 #8
0
        public ActionResult Pagar()
        {
            CARRITOCOMPRA carro = db.CARRITOCOMPRA.Find(decimal.Parse(Request.Cookies["CarritoCompra"].Value));

            return(View(carro));
        }
コード例 #9
0
        //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));
        }
コード例 #10
0
        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"));
        }