Ejemplo n.º 1
0
        //Método para eliminar un Libro
        public void DeleteLibro()
        {
            Libro l = new Libro();

            //Obtenemos el id del libro a eliminar
            l.Id = txtIdLibro.Text.Trim();
            try {
                SqlConnection cnx = new SqlConnection(CadenaCnx);
                //Veemos si la conexión está cerrada
                if (cnx.State == ConnectionState.Closed)
                {
                    //Abrimos la conexión
                    cnx.Open();
                }
                //Creamos la consulta con los campos correspondientes, y con parámetros para facilidad y seguridad
                SqlCommand stm = new SqlCommand("DELETE FROM tbl_libros WHERE libro_id = @libro_id", cnx);
                //Pasamos los parámetros con los datos de la vista
                stm.Parameters.AddWithValue("@libro_id", l.Id.Trim());
                //Ejecutamos la consulta
                stm.ExecuteNonQuery();
                //Cerramos conexión
                cnx.Close();
                ClientScript.RegisterStartupScript(this.GetType(), "Registrado", "alertaEcho('Libro eliminado correctamente')", true);
                LimpiarCampos();
                //Actualizamos la tablita
                GrdLibros.DataBind();
            } catch (SqlException ex) {
                ClientScript.RegisterStartupScript(this.GetType(), "Registrado", "alertaFallo('No puede eliminar un libro que esta en préstamo')", true);
            } catch (Exception ex) {
                ClientScript.RegisterStartupScript(this.GetType(), "Registrado", "alertaFallo('" + ex.Message + "')", true);
            }
        }
Ejemplo n.º 2
0
 protected void Page_Load(object sender, EventArgs e)
 {
     //Checamos si el usuario esta logeado con los permisos necesarios
     if (Session["username"].ToString() == "" || Session["rol"].ToString() != "admin")
     {
         //Si no esta logeado lo redirigimos al login
         Response.Redirect("adminLogin.aspx");
     }
     if (!IsPostBack)
     {
         //Llenamos los autores y editoriales en la carga de la página
         LlenarAutor();
         LlenarEditorial();
     }
     //Cargamos la tabla de libros en la carga de la página
     GrdLibros.DataBind();
 }
Ejemplo n.º 3
0
        //Método para añadir un Libro
        public void NuevoLibro()
        {
            Libro l = new Libro();

            //Traemos los datos desde la vista
            try {
                l.Id        = txtIdLibro.Text.Trim();
                l.Nombre    = txtNombre.Text.Trim();
                l.Idioma    = drpLenguaje.SelectedItem.Value.Trim();
                l.Editorial = drpEditorial.SelectedItem.Value.Trim();
                l.Autor     = drpAutor.SelectedItem.Value.Trim();

                l.FechaPublicacion = Convert.ToDateTime(txtFechaPublicacion.Text);
                l.Edicion          = Convert.ToInt32(txtEdicion.Text);
                l.Costo            = Convert.ToDecimal(txtCosto.Text);
                l.Paginas          = Convert.ToInt32(txtPaginas.Text);
                l.StockReal        = Convert.ToInt32(txtStockReal.Text);

                l.Descripcion = txtDescripcion.Text;

                l.Pasillo = txtPasillo.Text;
                l.Estante = txtEstante.Text;
                l.Fila    = txtFila.Text;
                //Para los géneros al ser selección multiple los ponemos en una cadena
                l.Genero = "";
                foreach (int i in lstGenero.GetSelectedIndices())
                {
                    l.Genero += lstGenero.Items[i] + ",";
                }
                //Eliminamos la coma final que no se ocupa
                l.Genero = l.Genero.Remove(l.Genero.Length - 1);


                //Ruta general donde guardar las imagenes
                l.Ruta = "~/Imagenes/Inventario/inventario.png";
                //Nombre del arhivo que subimos en el componente
                String NombreArchivo = Path.GetFileName(FileImg.PostedFile.FileName);
                //Ruta para guardar la imagen
                FileImg.SaveAs(Server.MapPath("Imagenes/Inventario/" + NombreArchivo));
                l.Ruta = "~/Imagenes/Inventario/" + NombreArchivo;

                SqlConnection cnx = new SqlConnection(CadenaCnx);
                //Veemos si la conexión está cerrada
                if (cnx.State == ConnectionState.Closed)
                {
                    //Abrimos la conexión
                    cnx.Open();
                }
                //Creamos la consulta con los campos correspondientes, y con parámetros para facilidad y seguridad
                SqlCommand stm = new SqlCommand("INSERT INTO tbl_libros(libro_id, libro_nombre, libro_genero, libro_autor, libro_editorial, libro_fecha_publicacion, libro_idioma,libro_edicion, libro_costo, libro_paginas, libro_descripcion,libro_stock_actual, libro_stock_real, libro_en_prestamo, libro_imagen, libro_Pasillo, libro_Estante, libro_Fila ) VALUES(@l1, @l2, @l3, @l4, @l5, @l6, @l7, @l8, @l9, @l10, @l11, @l12, @l13, @l14, @l15, @l16, @l17, @l18  )", cnx);

                //Pasamos los parámetros con los datos de la vista
                stm.Parameters.AddWithValue("@l1", l.Id.Trim());
                stm.Parameters.AddWithValue("@l2", l.Nombre.Trim());
                stm.Parameters.AddWithValue("@l3", l.Genero.Trim());
                stm.Parameters.AddWithValue("@l4", l.Autor);
                stm.Parameters.AddWithValue("@l5", l.Editorial);
                stm.Parameters.AddWithValue("@l6", l.FechaPublicacion);
                stm.Parameters.AddWithValue("@l7", l.Idioma.Trim());
                stm.Parameters.AddWithValue("@l8", l.Edicion);
                stm.Parameters.AddWithValue("@l9", l.Costo);
                stm.Parameters.AddWithValue("@l10", l.Paginas);
                stm.Parameters.AddWithValue("@l11", l.Descripcion.Trim());
                stm.Parameters.AddWithValue("@l12", l.StockReal);
                stm.Parameters.AddWithValue("@l13", l.StockReal);
                stm.Parameters.AddWithValue("@l14", 0);
                stm.Parameters.AddWithValue("@l15", l.Ruta.Trim());
                stm.Parameters.AddWithValue("@l16", l.Pasillo.Trim());
                stm.Parameters.AddWithValue("@l17", l.Estante.Trim());
                stm.Parameters.AddWithValue("@l18", l.Fila.Trim());
                stm.ExecuteNonQuery();                                                                  //Ejecutamos la consulta
                cnx.Close();                                                                            //Cerramos conexión
                ClientScript.RegisterStartupScript(this.GetType(), "Registrado", "alertaEcho('Libro registrado correctamente')", true);
                GrdLibros.DataBind();                                                                   //Actualizamos la tablita
                LimpiarCampos();
            } catch (Exception ex) {
                ClientScript.RegisterStartupScript(this.GetType(), "Registrado", "alertaFallo('" + ex.Message + "')", true);
            }
        }
Ejemplo n.º 4
0
        //Método para actualizar el Libro
        public void UpdateLibro()
        {
            Libro l = new Libro();

            try {
                //Traemos los datos de la vista
                l.Id        = txtIdLibro.Text;
                l.Nombre    = txtNombre.Text;
                l.Idioma    = drpLenguaje.SelectedItem.Value;
                l.Editorial = drpEditorial.SelectedItem.Value;
                l.Autor     = drpAutor.SelectedItem.Value;

                l.FechaPublicacion = Convert.ToDateTime(txtFechaPublicacion.Text);
                l.Edicion          = Convert.ToInt32(txtEdicion.Text);
                l.Costo            = Convert.ToDecimal(txtCosto.Text);
                l.Paginas          = Convert.ToInt32(txtPaginas.Text);
                l.StockReal        = Convert.ToInt32(txtStockReal.Text);
                l.StockActual      = Convert.ToInt32(txtStockActual.Text);

                l.Descripcion = txtDescripcion.Text;

                l.Pasillo = txtPasillo.Text;
                l.Estante = txtEstante.Text;
                l.Fila    = txtFila.Text;

                //Checamos si el stock real que traemos de la vista es el mismo que el de la BD del botón ir
                if (stock_real == l.StockReal)
                {
                    stock_real = l.StockReal;
                }
                else
                {
                    //Comprobamos que no se metan un stock menor a los libros que se tienen en prestamo
                    if (l.StockReal < prestados)
                    {
                        ClientScript.RegisterStartupScript(this.GetType(), "Registrado", "alertaFallo('No puede tener más libros prestados que los que hay en stock')", true);
                        return;
                    }
                    else
                    {
                        //Calculamos el stock actual en base al real y los prestados
                        l.StockActual       = l.StockReal - prestados;
                        txtStockActual.Text = "" + l.StockActual;
                    }
                }


                //Para los géneros al ser selección multiple los ponemos en una cadena
                l.Genero = "";
                foreach (int i in lstGenero.GetSelectedIndices())
                {
                    l.Genero += lstGenero.Items[i] + ",";
                }
                //Eliminamos la coma final que no se ocupa
                l.Genero = l.Genero.Remove(l.Genero.Length - 1);

                //Ruta general donde guardar las imagenes
                l.Ruta = "~/Imagenes/Inventario/inventario.png";
                //Nombre del arhivo que subimos en el componente
                String NombreArchivo = Path.GetFileName(FileImg.PostedFile.FileName);
                //Si el usuario no ha ingresado una nueva imagen toma la del botón ir con la variable global
                if (NombreArchivo == "" || NombreArchivo == null)
                {
                    NombreArchivo = ruta_imagen;
                }
                else
                {
                    //Ruta para guardar la imagen
                    FileImg.SaveAs(Server.MapPath("Imagenes/Inventario/" + NombreArchivo));
                    l.Ruta = "~/Imagenes/Inventario/" + NombreArchivo;
                }

                SqlConnection cnx = new SqlConnection(CadenaCnx);
                //Veemos si la conexión está cerrada
                if (cnx.State == ConnectionState.Closed)
                {
                    //Abrimos la conexión
                    cnx.Open();
                }
                //Creamos la consulta con los campos correspondientes, y con parámetros para facilidad y seguridad
                SqlCommand stm = new SqlCommand("UPDATE tbl_libros SET libro_nombre = @l1," +
                                                "libro_genero = @l2," +
                                                "libro_autor = @l3," +
                                                "libro_editorial = @l4," +
                                                "libro_fecha_publicacion = @l5," +
                                                "libro_idioma = @l6," +
                                                "libro_edicion = @l7," +
                                                "libro_costo = @l8," +
                                                "libro_paginas = @l9," +
                                                "libro_descripcion = @l10," +
                                                "libro_stock_actual = @l11," +
                                                "libro_stock_real = @l12," +

                                                "libro_Pasillo = @l13," +
                                                "libro_Estante = @l14," +
                                                "libro_Fila = @l15," +
                                                "libro_imagen = @l16  WHERE libro_id = @libro_id", cnx);
                //Pasamos los parámetros con los datos de la vista
                stm.Parameters.AddWithValue("@l1", l.Nombre.Trim());
                stm.Parameters.AddWithValue("@l2", l.Genero.Trim());
                stm.Parameters.AddWithValue("@l3", l.Autor);
                stm.Parameters.AddWithValue("@l4", l.Editorial);
                stm.Parameters.AddWithValue("@l5", l.FechaPublicacion);
                stm.Parameters.AddWithValue("@l6", l.Idioma.Trim());
                stm.Parameters.AddWithValue("@l7", l.Edicion);
                stm.Parameters.AddWithValue("@l8", l.Costo);
                stm.Parameters.AddWithValue("@l9", l.Paginas);
                stm.Parameters.AddWithValue("@l10", l.Descripcion.Trim());
                stm.Parameters.AddWithValue("@l11", l.StockActual);
                stm.Parameters.AddWithValue("@l12", l.StockReal);

                stm.Parameters.AddWithValue("@l13", l.Pasillo.Trim());
                stm.Parameters.AddWithValue("@l14", l.Estante.Trim());
                stm.Parameters.AddWithValue("@l15", l.Fila.Trim());

                stm.Parameters.AddWithValue("@l16", NombreArchivo.Trim());
                stm.Parameters.AddWithValue("@libro_id", l.Id.Trim());
                //Ejecutamos la consulta
                stm.ExecuteNonQuery();
                //Cerramos conexión
                cnx.Close();
                ClientScript.RegisterStartupScript(this.GetType(), "Registrado", "alertaEcho('Libro actualizado correctamente')", true);
                GrdLibros.DataBind();                                                                   //Actualizamos la tablita
                LimpiarCampos();
            } catch (Exception ex) {
                ClientScript.RegisterStartupScript(this.GetType(), "Registrado", "alertaFallo('" + ex.Message + "')", true);
            }
        }