Ejemplo n.º 1
0
        /// <summary>
        /// Obtendremos un carrito en base al usuario actual para traer todos los productos que ha escogido
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public List <Carritos> getOne(int id)
        {
            ConexionMySQL con = null;

            try
            {
                List <Carritos> lista = new List <Carritos>();
                con = new ConexionMySQL();

                DataSet dat = con.LLenaComboGrid("select c.idUsuario,dp.idproducto,c.NombreProd,c.FechaCompra,dp.precio," +
                                                 "dp.cantidad, dp.precio*Cantidad as total " +
                                                 "from carrito c join detalleproducto dp on c.idcarrito=dp.idcarrito" +
                                                 " where idusuario=" + id + " group by idproducto;");
                DataTable dt = dat.Tables[0];
                Carritos  datos;
                foreach (DataRow r in dt.Rows)
                {
                    datos                = new Carritos();
                    datos.idUsuario      = (int)r.ItemArray[0];
                    datos.idProducto     = (int)r.ItemArray[1];
                    datos.NombreProducto = (String)r.ItemArray[2];
                    datos.FechaCompra    = (DateTime)r.ItemArray[3];
                    datos.Precio         = (decimal)r.ItemArray[4];
                    datos.cantidad       = (int)r.ItemArray[5];
                    datos.Total          = (decimal)r.ItemArray[6];

                    lista.Add(datos);
                }
                return(lista);
            }
            catch (Exception ex)
            {
                throw new Exception("No se pudo traer el carrito");
            }
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Utilizaremos el metodo agregar para cada vez que el usuario agregue un producto al carrito desde la
        /// pagina principal
        /// </summary>
        /// <param name="m"></param>
        /// <returns></returns>
        public int agregar(Carritos m)
        {
            MySqlConnection conexion  = null;
            int             afectados = 0;

            try
            {
                conexion = new MySqlConnection(new ConexionMySQL().GetConnectionString());
                conexion.Open();
                String consulta = "INSERT INTO carrito "
                                  + "VALUES (default,@idUsuario,@Nombreproducto,now())";
                MySqlCommand comando = new MySqlCommand();
                comando.Connection  = conexion;
                comando.CommandText = consulta;
                comando.CommandType = System.Data.CommandType.Text;
                comando.Parameters.AddWithValue("@idUsuario", m.idUsuario);
                comando.Parameters.AddWithValue("@Nombreproducto", m.NombreProducto);
                afectados = comando.ExecuteNonQuery();

                return(afectados);
            }
            catch (Exception ex)
            {
                throw new Exception("No se pudo registrar el producto en carrito");
                return(0);
            }
            finally
            {
                if (afectados != 0)
                {
                    conexion.Close();
                }
            }
        }
Ejemplo n.º 3
0
        public JsonResult Traer()
        {
            Carritos carrito = null;

            if (Session["carrito"] == null)
            {
                carrito = new Carritos();
            }
            else
            {
                carrito = (Carritos)Session["carrito"];
            }
            int cantidad = carrito.Contar();
            int total    = carrito.Totalizar();

            return(Json(
                       new {
                total,
                cantidad,
                elementos = carrito.Elementos.Select(x => new
                {
                    x.id_producto,
                    x.nombre_producto,
                    x.precio,
                    x.Cantidad,
                    x.SubTotal
                })
            }, JsonRequestBehavior.AllowGet));
        }
Ejemplo n.º 4
0
 private void grvPrincipal_CellContentClick(object sender, DataGridViewCellEventArgs e)
 {
     if (tipo == "Administrador")
     {
         if (e.ColumnIndex == 5)
         {
             int idprod = int.Parse("" + grvPrincipal.Rows[e.RowIndex].Cells[0].Value);
             new Editar(idprod).Show();
             this.Hide();
         }
         if (e.ColumnIndex == 6)
         {
             new DAOProducto().delete((int)grvPrincipal.Rows[e.RowIndex].Cells[0].Value);
             actualizarTabla();
         }
     }
     else if (tipo == "Cliente")
     {
         if (e.ColumnIndex == 5)
         {
             int             idpro  = int.Parse("" + grvPrincipal.Rows[e.RowIndex].Cells[0].Value);
             String          nom    = "" + grvPrincipal.Rows[e.RowIndex].Cells[1].Value;
             Decimal         precio = Decimal.Parse("" + grvPrincipal.Rows[e.RowIndex].Cells[2].Value);
             Carritos        car    = new Carritos(idusuario, idusuario, nom);
             DetalleProducto det    = new DetalleProducto(idpro, precio, 1);
             new DAOCarrito().agregar(car);
             new DaoDetalleProducto().agregar(det, nom, idusuario);
         }
     }
 }
Ejemplo n.º 5
0
        public JsonResult Editar(int id, byte cantidad)
        {
            Carritos miCarrito = null;

            if (Session["carrito"] == null)
            {
                miCarrito = new Carritos();
            }
            else
            {
                miCarrito = (Carritos)Session["carrito"];
            }
            miCarrito.Editar(id, cantidad);
            return(Json(new { Mensaje = "Modificado con exito", Estado = true }, JsonRequestBehavior.AllowGet));
        }
Ejemplo n.º 6
0
        public JsonResult Editar(int id, sbyte Cantidad)
        {
            Carritos carrito = null;

            if (Session["carrito"] == null)
            {
                carrito = new Carritos();
            }
            else
            {
                carrito = (Carritos)Session["carrito"];
            }
            carrito.Editar(id, Cantidad);
            return(Json(new { Mensaje = "editado con exito", Estado = true }));
        }
Ejemplo n.º 7
0
        public JsonResult Eliminar(int id_producto)
        {
            Carritos carrito = null;

            if (Session["carrito"] == null)
            {
                carrito = new Carritos();
            }
            else
            {
                carrito = (Carritos)Session["carrito"];
            }
            carrito.Eliminar(id_producto);
            return(Json(new { Mensaje = "Elemento eliminado", Estado = true }, JsonRequestBehavior.AllowGet));
        }
Ejemplo n.º 8
0
        public JsonResult Eliminar(int id)
        {
            Carritos miCarrito = null;

            if (Session["carrito"] == null)
            {
                miCarrito = new Carritos();
            }
            else
            {
                miCarrito = (Carritos)Session["carrito"];
            }
            miCarrito.Eliminar(id);

            return(Json(new { Mensaje = "Eliminado con exito", Estado = true }, JsonRequestBehavior.AllowGet));
        }
Ejemplo n.º 9
0
        public ActionResult Pagar()
        {
            UsuariosViewModel usu       = null;
            Carritos          miCarrito = null;

            if (Session["Usuario"] != null)
            {
                //Ciclo Pago
                usu       = (UsuariosViewModel)Session["usuario"];
                miCarrito = (Carritos)Session["carrito"];

                if (miCarrito.Totalizar > 0)
                {
                    //Procedemos a Pago
                    Ventas venta = new Ventas();
                    venta.idUsuario = usu.Id;
                    venta.total     = (short)miCarrito.Totalizar;
                    venta.fecha     = DateTime.Now;


                    //Detalles esta venta
                    venta.DetalleVentas = new List <DetalleVentas>();
                    foreach (var det in miCarrito.Traer)
                    {
                        venta.DetalleVentas.Add(new DetalleVentas()
                        {
                            idProducto = det.id,
                            cantidad   = det.Cantidad,
                            subTotal   = (short)det.SubTotal
                        });
                    }
                    //Aplicar API para Medio de pago ejemplo paypal
                    venta.idMetodoPago = 5;
                    db.Ventas.Add(venta);
                    db.SaveChanges();
                }
                else
                {
                    //estafa o vacio
                    ViewBag.Mensaje = "No se puede procesar el pago en estos momentos";
                    return(View());
                }
            }

            return(View("/Carrito/Pagando"));
        }
Ejemplo n.º 10
0
        protected List <Carritos> traer(int id)
        {
            decimal total = 0;

            List <Carritos> lista = new DAOCarrito().getOne(id);

            Carritos[] list = new Carritos[lista.Count];
            Carritos   inf;

            for (int i = 0; i < lista.Count; i++)
            {
                inf    = new Carritos();
                total += lista[i].Total;
            }

            lblTot.Text = "" + total;
            return(lista);
        }
Ejemplo n.º 11
0
        public JsonResult Agregar(Productos productos)
        {
            productos = db.Productos.Find(productos.id_producto);
            Carritos carrito = null;

            if (Session["carrito"] == null)
            {
                carrito = new Carritos();
            }
            else
            {
                carrito = (Carritos)Session["carrito"];
            }
            carrito.Agregar(productos);
            Session["carrito"] = carrito;
            int total = carrito.Totalizar();

            return(Json(carrito.Elementos.Select(x => new { x.nombre_producto, x.precio, x.Cantidad, x.SubTotal, total }), JsonRequestBehavior.AllowGet));
        }
Ejemplo n.º 12
0
        public JsonResult Agregar(Productos pro)
        {
            byte cantidad = pro.Cantidad;

            pro          = db.Productos.Find(pro.id);
            pro.Cantidad = cantidad;
            Carritos miCarrito = null;

            if (Session["carrito"] == null)
            {
                miCarrito = new Carritos();
            }
            else
            {
                miCarrito = (Carritos)Session["carrito"];
            }

            miCarrito.Agregar(pro);
            Session["carrito"] = miCarrito;

            return(Json(new { Mensaje = "Agregado con exito", Estado = true }));
        }
Ejemplo n.º 13
0
        public ActionResult Pagar()
        {
            UsuariosViewModel usu = (UsuariosViewModel)Session["Usuario"];

            if (usu == null)
            {
                return(Redirect("/Usuarios/Index"));
            }
            Ventas ven = new Ventas();

            ven.fecha_venta = DateTime.Now;
            ven.id_usuario  = ((UsuariosViewModel)Session["Usuario"]).Id;
            Carritos car = null;

            car = (Carritos)Session["carrito"];
            if (car != null)
            {
                ven.monto_total    = car.Totalizar();
                ven.Detalle_Ventas = new List <Detalle_Ventas>();
                foreach (var item in car.Elementos)
                {
                    ven.Detalle_Ventas.Add(new Detalle_Ventas()
                    {
                        cantidad    = item.Cantidad,
                        id_producto = item.id_producto,
                    });
                }
                ViewBag.Mensaje = "Producto comprado";
                db.Ventas.Add(ven);
                db.SaveChanges();
                return(View());
            }
            else
            {
                ViewBag.Mensaje = "el carro está vacío";
                return(View());
            }
        }
Ejemplo n.º 14
0
        public JsonResult Traer()
        {
            Carritos miCarrito = null;

            if (Session["carrito"] == null)
            {
                miCarrito = new Carritos();
            }
            else
            {
                miCarrito = (Carritos)Session["carrito"];
            }



            return(Json(new
            {
                miCarrito.Contar,
                miCarrito.Totalizar,
                Traer = miCarrito.Traer.Select
                            (x => new { x.Cantidad, x.SubTotal, x.nombre, x.id, x.precio }).ToList()
            }, JsonRequestBehavior.AllowGet));
        }