public ActionResult CarritoVentas()
 {
     if (Session["CarritoVendedor"] != null)
     {
         List<PaqueteEntradas> carrito = (List<PaqueteEntradas>)Session["CarritoVendedor"];
         List<CarritoItem> item = new List<CarritoItem>();
         foreach (PaqueteEntradas paquete in carrito)
         {
             Eventos evento = db.Eventos.Find(paquete.idEvento);
             PeriodoVenta periodo = db.PeriodoVenta.Where(c => c.codEvento == paquete.idEvento && c.fechaInicio <= DateTime.Today && DateTime.Today <= c.fechaFin).First();
             CarritoItem cItem = new CarritoItem();
             cItem.idEvento = paquete.idEvento;
             cItem.idFuncion = paquete.idFuncion;
             cItem.idZona = paquete.idZona;
             cItem.nombreEvento = db.Eventos.Find(paquete.idEvento).nombre;
             Funcion funcion = db.Funcion.Find(paquete.idFuncion);
             cItem.fecha = (DateTime)funcion.fecha;
             cItem.hora = (DateTime)funcion.horaIni;
             cItem.zona = db.ZonaEvento.Find(paquete.idZona).nombre;
             cItem.precio = (double)db.PrecioEvento.Where(c => c.codZonaEvento == paquete.idZona && c.codPeriodoVenta == periodo.idPerVent).First().precio * paquete.cantEntradas;
             cItem.filas = paquete.filas;
             cItem.columnas = paquete.columnas;
             cItem.tieneAsientos = paquete.tieneAsientos;
             cItem.cantidad = paquete.cantEntradas;
             item.Add(cItem);
         }
         Session["CarritoItemVentas"] = item;
         ViewBag.Carrito = item;
     }
     return View();
 }
        public ActionResult AgregarItem(int?productoId)
        {
            string usuarioEmail = User.Identity.Name;

            if (productoId != null)
            {
                CarritoItem item = itemExistente(productoId, usuarioEmail);
                if (item == null)
                {
                    item = crearItem(productoId, usuarioEmail);
                    bool itemInexistente = item.Producto == null;
                    if (itemInexistente)
                    {
                        string itemExistenteError = "El producto agregado no existe.";
                        return(RedirectToAction("Index", new { usuarioEmail = usuarioEmail, error = itemInexistente, descripcion = itemExistenteError }));
                    }
                    db.CarritoItems.Add(item);
                    db.SaveChanges();
                    return(RedirectToAction("Index", new { usuarioEmail = usuarioEmail }));
                }
                bool stockSuperado = item.Producto.Stock - item.Cantidad <= 0;
                if (stockSuperado)
                {
                    string stockSuperadoDescripcion = "El producto agregado se encuentra sin stock.";
                    return(RedirectToAction("Index", new { usuarioEmail = usuarioEmail, error = stockSuperado, descripcion = stockSuperadoDescripcion }));
                }
                else
                {
                    item.Cantidad++;
                    db.Entry(item).State = EntityState.Modified;
                    db.SaveChanges();
                }
            }
            return(RedirectToAction("Index", new { usuarioEmail = usuarioEmail }));
        }
        public ActionResult SumarUno(int?carritoItemId)
        {
            string usuarioEmail = User.Identity.Name;

            if (carritoItemId != null)
            {
                CarritoItem item            = db.CarritoItems.Find(carritoItemId);
                bool        itemInexistente = item == null || !elProductoPerteneceAlCarrito(carritoItemId);
                if (itemInexistente)
                {
                    string itemExistenteError = "El producto modificado no existe.";
                    return(RedirectToAction("Index", new { usuarioEmail = usuarioEmail, error = itemInexistente, descripcion = itemExistenteError }));
                }
                bool stockSuperado = item.Producto.Stock - item.Cantidad <= 0;
                if (stockSuperado)
                {
                    string stockSuperadoError = "El producto agregado se encuentra sin stock.";
                    return(RedirectToAction("Index", new { usuarioEmail = usuarioEmail, error = stockSuperado, descripcion = stockSuperadoError }));
                }
                else
                {
                    item.Cantidad++;
                    db.Entry(item).State = EntityState.Modified;
                    db.SaveChanges();
                }
            }
            return(RedirectToAction("Index", new { usuarioEmail = usuarioEmail }));
        }
        public ActionResult RestarUno(int?carritoItemId)
        {
            string usuarioEmail = User.Identity.Name;

            if (carritoItemId != null)
            {
                CarritoItem item            = db.CarritoItems.Find(carritoItemId);
                bool        itemInexistente = item == null || !elProductoPerteneceAlCarrito(carritoItemId);
                if (itemInexistente)
                {
                    string itemExistenteError = "El producto modificado no existe.";
                    return(RedirectToAction("Index", new { usuarioEmail = usuarioEmail, error = itemInexistente, descripcion = itemExistenteError }));
                }
                if (item.Cantidad > 1)
                {
                    item.Cantidad--;
                    db.Entry(item).State = EntityState.Modified;
                }
                else
                {
                    db.CarritoItems.Remove(item);
                }
                db.SaveChanges();
            }
            return(RedirectToAction("Index", new { usuarioEmail = usuarioEmail }));
        }
Beispiel #5
0
        public void Create(CarritoItem carritoItem)
        {
            var query = @"INSERT INTO CarritoItem (productoid, preciounitario, cantidad, preciototal,estado)
                        VALUES(@productoid, @preciounitario, @cantidad, @preciototal,@estado);";

            Connection.Execute(query, carritoItem, transaction: Transaction);
        }
Beispiel #6
0
        public ActionResult Buy(int id)
        {
            var cookie = HelperCookie.GetFromCookie("shop-art", "shop-art-key");

            Carrito cart = new Carrito
            {
                CartDate  = DateTime.Now,
                Cookie    = cookie,
                ItemCount = 1,
            };

            this.CheckAuditPattern(cart, true);

            CarritoItem item = new CarritoItem
            {
                Price     = 100,
                ProductId = id,
                Quantity  = 1
            };

            this.CheckAuditPattern(item, true);
            cart.CarritoItem = new List <CarritoItem>()
            {
                item
            };

            dba.Carrito.Add(cart);
            dba.SaveChanges();
            return(RedirectToAction("Index", "CarritoItem"));
        }
        public ActionResult AñadirItem(CarritoItem item)
        {
            Usuario u = (Usuario)Session["login"];

            item.idUsuario = u.idUsu;
            List <CarritoItem> carrito = null;

            if (Session["carrito_prov"] == null)
            {
                carrito = new List <CarritoItem>();
                carrito.Add(item);
                Session["carrito_prov"] = carrito;
            }
            else
            {
                int pos = Posicion(item.idProducto);
                if (pos == -1)
                {
                    carrito = new List <CarritoItem>();
                    carrito = (List <CarritoItem>)Session["carrito_prov"];
                    carrito.Add(item);
                    Session["carrito_prov"] = carrito;
                }
                else
                {
                    carrito = (List <CarritoItem>)Session["carrito_prov"];
                    int cant = carrito[pos].cantProd += item.cantProd;
                    carrito[pos].cantProd   = cant;
                    Session["carrito_prov"] = carrito;
                }
            }
            return(Json(carrito, JsonRequestBehavior.AllowGet));
        }
Beispiel #8
0
        public async Task <IActionResult> Edit(Guid id, [Bind("Id,CarritoId,ProductoId,ValorUnitario,Cantidad,Subtotal")] CarritoItem carritoItem)
        {
            if (id != carritoItem.Id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(carritoItem);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!CarritoItemExists(carritoItem.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            ViewData["CarritoId"]  = new SelectList(_context.Carritos, "Id", "Id", carritoItem.CarritoId);
            ViewData["ProductoId"] = new SelectList(_context.Productos, "Id", "Descripcion", carritoItem.ProductoId);
            return(View(carritoItem));
        }
Beispiel #9
0
        public ActionResult AgregarAlCarrito(CarritoItem item)
        {
            List <CarritoItem> lista = null;

            if (Session["carrito"] == null)
            {
                lista = new List <CarritoItem>();
                lista.Add(item);
                Session["carrito"] = lista;
                new CarritoItemDAO().insertarCarritoItem(item);
            }
            else
            {
                lista = (List <CarritoItem>)Session["carrito"];
                int pos = Posicion(item.idProducto);
                if (pos >= 0)
                {
                    int cant = lista[pos].cantProd += item.cantProd;
                    Session["carrito"] = lista;
                    item.cantProd      = cant;
                    new CarritoItemDAO().actualizarCarritoItem(item);
                }
                else
                {
                    lista.Add(item);
                    Session["carrito"] = lista;
                    new CarritoItemDAO().insertarCarritoItem(item);
                }
            }
            Session["items"] = lista.ToList().Sum(p => p.cantProd);
            return(Json(lista, JsonRequestBehavior.AllowGet));
        }
Beispiel #10
0
        public ActionResult RemueveCarrito(string sku, int index_carrito)
        {
            CarritoItem eliminar = null;

            compras = (List <CarritoItem>)Session["Carrito"];
            var item = compras.FirstOrDefault(x => x.Sku == sku && x.Index == index_carrito);

            promocion_remover = compras.Find(x => x.Id_promocion == item.Id_promocion);
            var id_promo = promocion_remover.Id_promocion;

            if (id_promo == 0)
            {
                compras.Remove(item);
            }
            else
            {
                for (int i = 0; i <= compras.Count(); i++)
                {
                    eliminar = compras.Find(x => x.Id_promocion == id_promo);
                    compras.Remove(eliminar);
                }
                promocion_rem(id_promo);// revalidar_promocion
            }

            if (compras.Count() == 0)
            {
                Session["Carrito"] = null;
                ViewBag.compras    = "";
            }
            ViewBag.compras = Session["Carrito"];
            return(PartialView("Ventas/_AgregaCarrito"));
        }
Beispiel #11
0
 public void Create(CarritoItem carritoItem)
 {
     using (var context = _unitOfWork.Create())
     {
         context.Repository.CarritoItemRepository.Create(carritoItem);
         context.SaveChange();
     }
 }
Beispiel #12
0
        public ActionResult DeleteConfirmed(int id)
        {
            CarritoItem carritoItem = db.CarritoItem.Find(id);

            db.CarritoItem.Remove(carritoItem);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
 private OrdenDetalle crearOrdenDetalle(CarritoItem item)
 {
     return(new OrdenDetalle()
     {
         NombreProducto = item.Producto.Nombre,
         PrecioProducto = item.Producto.Precio,
         Cantidad = item.Cantidad,
     });
 }
        public IActionResult PostCarrito([FromBody] CarritoItem carrito)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            carritoItemService.Save(carrito);

            return(CreatedAtAction("GetCarrito", new { idUsuario = carrito.IdUsuario, idProducto = carrito.IdProducto }, carrito));
        }
Beispiel #15
0
        public ActionResult actualizarItemCarrito(CarritoItem item)
        {
            List <CarritoItem> lista = (List <CarritoItem>)Session["carrito"];
            int pos  = Posicion(item.idProducto);
            int cant = lista[pos].cantProd = item.cantProd;

            Session["carrito"] = lista;
            item.cantProd      = cant;
            new CarritoItemDAO().actualizarCarritoItem(item);
            return(Json(lista, JsonRequestBehavior.AllowGet));
        }
Beispiel #16
0
 public ActionResult Edit([Bind(Include = "Id,CarritoId,ObrasId,Price,Quantity,CreatedOn,CreatedBy,ChangedOn,ChangedBy")] CarritoItem carritoItem)
 {
     if (ModelState.IsValid)
     {
         db.Entry(carritoItem).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.CarritoId = new SelectList(db.Carrito, "Id", "Cookie", carritoItem.ProductId);
     return(View(carritoItem));
 }
Beispiel #17
0
        // POST: CarritoItems/Edit/5
        // Para protegerse de ataques de publicación excesiva, habilite las propiedades específicas a las que desea enlazarse. Para obtener
        // más información vea https://go.microsoft.com/fwlink/?LinkId=317598.
        //[HttpPost]
        //[ValidateAntiForgeryToken]
        //public ActionResult Edit([Bind(Include = "CarritoID,ProductoID,Cantidad")] CarritoItem carritoItem)
        //{
        //    if (ModelState.IsValid)
        //    {
        //        db.Entry(carritoItem).State = EntityState.Modified;
        //        db.SaveChanges();
        //        return RedirectToAction("Index");
        //    }
        //    ViewBag.ProductoID = new SelectList(db.Productos, "ProductoID", "Nombre", carritoItem.ProductoID);
        //    return View(carritoItem);
        //}

        // GET: CarritoItems/Delete/5
        public ActionResult Delete(CarritoItem unArticulo)
        {
            foreach (CarritoItem item in CarritoProductos.listaProductos)
            {
                if (item.ProductoID == unArticulo.ProductoID)
                {
                    unArticulo = item;
                }
            }
            return(View(unArticulo));
        }
Beispiel #18
0
        public ActionResult Create([Bind(Include = "CarritoID,ProductoID,Cantidad")] CarritoItem carritoItem)
        {
            if (ModelState.IsValid)
            {
                db.CarritoItems.Add(carritoItem);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            ViewBag.ProductoID = new SelectList(db.Productos, "ProductoID", "Nombre", carritoItem.ProductoID);
            return(View(carritoItem));
        }
Beispiel #19
0
        public static CarritoDeCompras_2012.CS.ProxyVentasWS.CarritoItem lccTolc(CarritoItem pf)
        {
            //CarritoItem cI = new CarritoItem();
            CarritoDeCompras_2012.CS.ProxyVentasWS.CarritoItem cI = new CarritoDeCompras_2012.CS.ProxyVentasWS.CarritoItem();

            cI.idProducto     = pf.idProducto;
            cI.NombreProducto = pf.NombreProducto;
            cI.Cantidad       = pf.Cantidad;
            cI.PrecioUnitario = pf.PrecioUnitario;
            cI.PrecioTotal    = pf.PrecioTotal;

            return(cI);
        }
Beispiel #20
0
        // GET: CarritoItem/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            CarritoItem carritoItem = db.CarritoItem.Find(id);

            if (carritoItem == null)
            {
                return(HttpNotFound());
            }
            return(View(carritoItem));
        }
Beispiel #21
0
        public async Task <IActionResult> Create([Bind("Id,CarritoId,ProductoId,ValorUnitario,Cantidad,Subtotal")] CarritoItem carritoItem)
        {
            if (ModelState.IsValid)
            {
                carritoItem.Id = Guid.NewGuid();
                _context.Add(carritoItem);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            ViewData["CarritoId"]  = new SelectList(_context.Carritos, "Id", "Id", carritoItem.CarritoId);
            ViewData["ProductoId"] = new SelectList(_context.Productos, "Id", "Descripcion", carritoItem.ProductoId);
            return(View(carritoItem));
        }
Beispiel #22
0
        protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
        {
            List <CarritoItem> LCarrito = new List <CarritoItem>();
            CarritoItem        cI       = new CarritoItem();


            int id = this.GridView1.SelectedIndex;

            LCarrito = tc.ObtenerCookie();
            LCarrito.RemoveAt(id);
            tc.GenerarNuevaCookie(LCarrito);

            //Vuelvo a llamar a la pagina para que relea la cookie
            Response.Redirect("Carrito.aspx");
        }
Beispiel #23
0
        // GET: CarritoItem/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            CarritoItem carritoItem = db.CarritoItem.Find(id);

            if (carritoItem == null)
            {
                return(HttpNotFound());
            }
            ViewBag.CarritoId = new SelectList(db.Carrito, "Id", "Cookie", carritoItem.ProductId);
            return(View(carritoItem));
        }
        public ActionResult BorrarUno(int?carritoItemId)
        {
            string usuarioEmail = User.Identity.Name;

            if (carritoItemId != null)
            {
                CarritoItem item            = db.CarritoItems.Find(carritoItemId);
                bool        itemInexistente = item == null || !elProductoPerteneceAlCarrito(carritoItemId);
                if (itemInexistente)
                {
                    string itemExistenteError = "El producto borrado no existe.";
                    return(RedirectToAction("Index", new { usuarioEmail = usuarioEmail, error = itemInexistente, descripcion = itemExistenteError }));
                }
                db.CarritoItems.Remove(item);
                db.SaveChanges();
            }
            return(RedirectToAction("Index", new { usuarioEmail = usuarioEmail }));
        }
Beispiel #25
0
 // GET: CarritoItems/Edit/5
 public ActionResult Edit(CarritoItem unArticulo)
 {
     if (unArticulo == null)
     {
         return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
     }
     foreach (CarritoItem item in CarritoProductos.listaProductos)
     {
         if (item.Equals(unArticulo.ProductoID))
         {
             item.Producto = unArticulo.Producto;
         }
     }
     if (unArticulo == null)
     {
         return(HttpNotFound());
     }
     ViewBag.ProductoID = new SelectList(db.Productos, "ProductoID", "Nombre", unArticulo.ProductoID);
     return(View(unArticulo));
 }
        public ActionResult Create(CarritoItem carritoItem)
        {
            dynamic resposonse = new ExpandoObject();

            try
            {
                _carritoItemService.Create(carritoItem);
                resposonse.data         = "";
                resposonse.errormensaje = "";
                resposonse.error        = false;
            }
            catch (Exception ex)
            {
                resposonse.data         = null;
                resposonse.errormensaje = ex.Message;
                resposonse.error        = true;
            }
            object datos = (object)resposonse;

            return(Ok(datos));
        }
        public ActionResult AgregarCarrito(FormCollection form)
        {
            Producto producto = db.Productos.Find(int.Parse(Request["item.ProductoID"].ToString()));
            //Instanciamos un objeto de articulo de carrito y le damos sus propiedades correspondientes
            CarritoItem item = new CarritoItem();

            item.CarritoID  = CarritoProductos.listaProductos.Count + 1;
            item.Producto   = producto;
            item.ProductoID = producto.ProductoID;
            item.Cantidad   = int.Parse(Request["Cantidad"].ToString());
            item.CalcularSubtotal();

            //Agregamos el artículo al carrito(lista)
            CarritoProductos.listaProductos.Add(item);


            if (producto == null)
            {
                return(HttpNotFound());
            }
            return(View(producto));
        }
Beispiel #28
0
        public CarritoItem GuardarPosicion(int posicion, string valor, string cantidad, string[] array_NombreProducto, string[]  array_Precio)
        {
            CarritoItem cI = new CarritoItem();

            int id = int.Parse(valor);

            if (id > 0)
            {
                cI.idProducto = id;
                int cant = int.Parse(cantidad);
                cI.Cantidad       = cant;
                cI.NombreProducto = array_NombreProducto[posicion];
                float conv = float.Parse(array_Precio[posicion].ToString());
                //precio unitario
                cI.PrecioUnitario = Math.Round(conv, 2);
                //Obtengo el monto total
                conv           = conv * cant;
                cI.PrecioTotal = Math.Round(conv, 2);
            }

            return(cI);
        }
Beispiel #29
0
 public void Update(CarritoItem entity)
 {
     context.Entry(entity).State = EntityState.Modified;
     context.SaveChanges();
 }
Beispiel #30
0
 public void Save(CarritoItem entity)
 {
     context.CarritoItems.Add(entity);
     context.SaveChanges();
 }
Beispiel #31
0
 public CarritoItem FindById(CarritoItem entity)
 {
     return(context.CarritoItems.Include(x => x.Producto).FirstOrDefault(x =>
                                                                         x.IdProducto == entity.IdProducto &&
                                                                         x.IdUsuario == entity.IdUsuario));
 }
        public ActionResult MiCarrito()
        {
            if (Session["Carrito"] != null)
            {
                List<PaqueteEntradas> carrito = (List<PaqueteEntradas>)Session["Carrito"];
                List<CarritoItem> item = new List<CarritoItem>();
                foreach (PaqueteEntradas paquete in carrito)
                {
                    Eventos evento = db.Eventos.Find(paquete.idEvento);
                    PeriodoVenta periodo = db.PeriodoVenta.Where(c => c.codEvento == paquete.idEvento && c.fechaInicio <= DateTime.Today && DateTime.Today <= c.fechaFin).First();
                    CarritoItem cItem = new CarritoItem();
                    cItem.idEvento = paquete.idEvento;
                    cItem.idFuncion = paquete.idFuncion;
                    cItem.idZona = paquete.idZona;
                    cItem.nombreEvento = db.Eventos.Find(paquete.idEvento).nombre;
                    Funcion funcion = db.Funcion.Find(paquete.idFuncion);
                    cItem.fecha = (DateTime)funcion.fecha;
                    cItem.hora = (DateTime)funcion.horaIni;
                    cItem.zona = db.ZonaEvento.Find(paquete.idZona).nombre;
                    cItem.precio = (double)db.PrecioEvento.Where(c => c.codZonaEvento == paquete.idZona && c.codPeriodoVenta == periodo.idPerVent).First().precio * paquete.cantEntradas;
                    cItem.filas = paquete.filas;
                    cItem.columnas = paquete.columnas;
                    cItem.tieneAsientos = paquete.tieneAsientos;
                    cItem.cantidad = paquete.cantEntradas;
                    item.Add(cItem);
                }
                Session["CarritoItem"] = item;
                ViewBag.Carrito = item;
            }
            //destacados
            List<Eventos> listaDestacados = new List<Eventos>(0);
            try
            {
                listaDestacados = db.Eventos.AsNoTracking().Where(c => (c.ImagenDestacado != null && c.estado != null && c.estado.CompareTo("Activo") == 0)).ToList();
            }
            catch (Exception ex)
            {

            }
            ViewBag.ListaDestacados = listaDestacados;
            return View();
        }