private void but_consultar_libro_Click(object sender, EventArgs e)
        {
            if (tex_isbn.Text.Length == 0)
            {
                this.inicializarDatos();
                MessageBox.Show("Debe ingresar un ISBN",
                "Consultar Libro",
                MessageBoxButtons.OK,
                MessageBoxIcon.Warning);
            }
            else
            {
                try
                {
                    Libro lib = new Libro();
                    lib.v_isbn = tex_isbn.Text;

                    if ((lib.ConsultarLibro(lib)).v_isbn.Length != 0)
                    {
                        tex_isbn.Text = lib.v_isbn;
                        tex_titulo.Text = lib.v_titulo;
                        tex_edicion.Text = lib.v_edicion;
                        tex_autor.Text = lib.v_autor;
                        tex_año.Text = lib.v_año;

                        SLeditorial = new SortedList();
                        SLeditorial.Add(lib.v_Deditorial, lib.v_Deditorial);
                        com_editorial.DataSource = SLeditorial.GetValueList();
                        com_editorial.Show();
                        com_editorial.Enabled = false;
                        SLeditorial.Clear();

                        SLtipolibro = new SortedList();
                        SLtipolibro.Add(lib.v_Dtipo_libro, lib.v_Dtipo_libro);
                        com_tipo_libro.DataSource = SLtipolibro.GetValueList();
                        com_tipo_libro.Show();
                        com_tipo_libro.Enabled = false;
                        SLtipolibro.Clear();

                        SLidioma = new SortedList();
                        SLidioma.Add(lib.v_Didioma, lib.v_Didioma);
                        com_idioma.DataSource = SLidioma.GetValueList();
                        com_idioma.Show();
                        com_idioma.Enabled = false;
                        SLidioma.Clear();

                    }

                }
                catch (SqlException ex)
                {
                    for (int i = 0; i < ex.Errors.Count; i++)
                    {
                        errorMessages.Append("Index #" + i + "\n" +
                        "Message: " + ex.Errors[i].Message + "\n" +
                        "LineNumber: " + ex.Errors[i].LineNumber + "\n" +
                        "Source: " + ex.Errors[i].Source + "\n" +
                        "Procedure: " + ex.Errors[i].Procedure + "\n");
                    }
                    Console.WriteLine(errorMessages.ToString());
                    this.inicializarDatos();
                    MessageBox.Show(ex.Errors[0].Message.ToString(),
                    "Consultar Libro",
                    MessageBoxButtons.OK,
                    MessageBoxIcon.Warning);
                }

            }
        }
        private void but_eliminar_libro_Click(object sender, EventArgs e)
        {
            StringBuilder errorMessages = new StringBuilder();
            Libro lib = new Libro();
            if (tex_isbn.Text.Length == 0)
            {
                this.inicializarDatos();
                MessageBox.Show("Debe ingresar un ISBN",
                "Eliminar Libro",
                MessageBoxButtons.OK,
                MessageBoxIcon.Warning);
            }
            else
            {
                try
                {
                    lib.v_isbn = tex_isbn.Text;
                    if ((lib.ConsultarLibro(lib)).v_isbn.Length != 0)
                    {
                        tex_isbn.Text = lib.v_isbn;
                        tex_titulo.Text = lib.v_titulo;
                        tex_edicion.Text = lib.v_edicion;
                        tex_autor.Text = lib.v_autor;
                        tex_año.Text = lib.v_año;

                        SLeditorial = new SortedList();
                        SLeditorial.Add(lib.v_Deditorial, lib.v_Deditorial);
                        com_editorial.DataSource = SLeditorial.GetValueList();
                        com_editorial.Show();
                        com_editorial.Enabled = false;
                        SLeditorial.Clear();

                        SLtipolibro = new SortedList();
                        SLtipolibro.Add(lib.v_Dtipo_libro, lib.v_Dtipo_libro);
                        com_tipo_libro.DataSource = SLtipolibro.GetValueList();
                        com_tipo_libro.Show();
                        com_tipo_libro.Enabled = false;
                        SLtipolibro.Clear();

                        SLidioma = new SortedList();
                        SLidioma.Add(lib.v_Didioma, lib.v_Didioma);
                        com_idioma.DataSource = SLidioma.GetValueList();
                        com_idioma.Show();
                        com_idioma.Enabled = false;
                        SLidioma.Clear();

                        lib.v_usuario_m = this.usuario;

                        if ((MessageBox.Show("¿Desea eliminar el Libro con Titulo: " + lib.v_titulo + " ?", "Eliminar Libro", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes))
                        {

                            try
                            {
                                if (lib.EliminarLibro(lib) != 0)
                                {
                                    this.inicializarDatos();
                                    MessageBox.Show("Libro eliminada correctamente",
                                    "Eliminar Libro",
                                    MessageBoxButtons.OK,
                                    MessageBoxIcon.Information);
                                }

                            }
                            catch (SqlException ex)
                            {
                                for (int i = 0; i < ex.Errors.Count; i++)
                                {

                                    errorMessages.Append("Index #" + i + "\n" +
                                    "Message: " + ex.Errors[i].Message + "\n" +
                                    "LineNumber: " + ex.Errors[i].LineNumber + "\n" +
                                    "Source: " + ex.Errors[i].Source + "\n" +
                                    "Procedure: " + ex.Errors[i].Procedure + "\n");
                                }
                                Console.WriteLine(errorMessages.ToString());
                                this.inicializarDatos();
                                MessageBox.Show(ex.Errors[0].Message.ToString(),
                                    "Eliminar Libro",
                                    MessageBoxButtons.OK,
                                    MessageBoxIcon.Warning);
                            }
                        }
                    }
                }
                catch (SqlException ex)
                {
                    for (int i = 0; i < ex.Errors.Count; i++)
                    {
                        errorMessages.Append("Index #" + i + "\n" +
                        "Message: " + ex.Errors[i].Message + "\n" +
                        "LineNumber: " + ex.Errors[i].LineNumber + "\n" +
                        "Source: " + ex.Errors[i].Source + "\n" +
                        "Procedure: " + ex.Errors[i].Procedure + "\n");
                    }
                    Console.WriteLine(errorMessages.ToString());
                    this.inicializarDatos();
                    MessageBox.Show(ex.Errors[0].Message.ToString(),
                    "Eliminar Libro",
                    MessageBoxButtons.OK,
                    MessageBoxIcon.Warning);
                }

            }
        }
        public int AgregarLibro(Libro libro)
        {
            libro.v_TipoEvento = "I";
            DatosSistema datos = new DatosSistema();
            string[] parametros = { "@v_isbn",
                                    "@v_titulo",
                                    "@v_Deditorial",
                                    "@v_Dtipo_libro",
                                    "@v_autor",
                                    "@v_edicion",
                                    "@v_Didioma",
                                    "@v_año",
                                    "@v_usuarioI",
                                    "@v_TipoEvento"};

            return datos.Ejecutar("proAgregarLibro", parametros,
                                   libro.v_isbn,
                                   libro.v_titulo,
                                   libro.v_Deditorial,
                                   libro.v_Dtipo_libro,
                                   libro.v_autor,
                                   libro.v_edicion,
                                   libro.v_Didioma,
                                   libro.v_año,
                                   libro.v_usuario_i,
                                   libro.v_TipoEvento);
        }
        public Libro OptenerTipoLibro(Libro libro)
        {
            DatosSistema datos = new DatosSistema();
            libro.v_TipoEvento = "L";
            var dt = new DataTable();
            string[] parametros = { "@v_TipoEvento" };
            dt = datos.getDatosTabla("proDevolverDatos", parametros, libro.v_TipoEvento);
            foreach (DataRow fila in dt.Rows)
            {
                libro.v_tipo_libro.Add(fila["tipolibro"].ToString());

            }
            return libro;
        }
        public int EliminarLibro(Libro libro)
        {
            libro.v_TipoEvento = "E";
            DatosSistema datos = new DatosSistema();
            string[] parametros = { "@v_isbn",
                                    "@v_usuarioM",
                                    "@v_TipoEvento"};

            return datos.Ejecutar("proEliminarLibro", parametros,
                                   libro.v_isbn,
                                   libro.v_usuario_m,
                                   libro.v_TipoEvento);
        }
 public Libro ConsultarLibroAI(Libro libro)
 {
     DatosSistema datos = new DatosSistema();
     libro.v_TipoEvento = "C";
     var dt = new DataTable();
     string[] parametros = { "@v_isbn", "@v_TipoEvento" };
     dt = datos.getDatosTabla("proConsultarLibroAI", parametros, libro.v_isbn, libro.v_TipoEvento);
     foreach (DataRow fila in dt.Rows)
     {
         libro.v_isbn = fila["isbn"].ToString();
         libro.v_titulo = fila["titulo"].ToString();
         libro.v_Deditorial = fila["editorial"].ToString();
         libro.v_Dtipo_libro = fila["tipolibro"].ToString();
         libro.v_autor = fila["autor"].ToString();
         libro.v_edicion = fila["edicion"].ToString();
         libro.v_Didioma = fila["idioma"].ToString();
         libro.v_año = fila["año"].ToString();
         libro.v_estado = Convert.ToChar(fila["estado"].ToString());
     }
     return libro;
 }