private void BorrarMetroButton_Click(object sender, EventArgs e)
        {
            if (LibroMetroGrid.SelectedRows.Count == 0)
            {
                return;
            }

            DataGridViewRow r               = LibroMetroGrid.SelectedRows[0];
            LibroListDto    libroListDto    = (LibroListDto)r.Tag;
            LibroListDto    libroListDtoAux = (LibroListDto)libroListDto.Clone();
            DialogResult    dr              = MessageBox.Show($"¿Desea dar de baja el Libro {libroListDto.Titulo}?",
                                                              "Confirmar Baja", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2);

            if (dr == DialogResult.No)
            {
                return;
            }

            try
            {
                _servicio.Borrar(libroListDto.LibroId);
                LibroMetroGrid.Rows.Remove(r);
                MessageBox.Show("Registro Borrado", "Mensaje", MessageBoxButtons.OK,
                                MessageBoxIcon.Information);
            }
            catch (Exception exception)
            {
                MessageBox.Show(exception.Message, "Error", MessageBoxButtons.OK,
                                MessageBoxIcon.Error);
            }
        }
        private void EditarMetroButton_Click(object sender, EventArgs e)
        {
            if (LibroMetroGrid.SelectedRows.Count == 0)
            {
                return;
            }

            DataGridViewRow r                    = LibroMetroGrid.SelectedRows[0];
            LibroListDto    libroListDto         = (LibroListDto)r.Tag;
            LibroListDto    libroListDtoAuxiliar = (LibroListDto)libroListDto.Clone();
            LibroAEForm     frm                  = new LibroAEForm();
            LibroEditDto    libroEditDto         = _servicio.GetLibroPorId(libroListDto.LibroId);

            frm.Text = "Editar Libro";
            frm.SetLibro(libroEditDto);
            DialogResult dr = frm.ShowDialog(this);

            if (dr == DialogResult.Cancel)
            {
                return;
            }

            try
            {
                libroEditDto = frm.GetLibro();
                //Controlar repitencia

                if (!_servicio.Existe(libroEditDto))
                {
                    _servicio.Guardar(libroEditDto);

                    libroEditDto.LibroId            = libroEditDto.LibroId;
                    libroListDto.Titulo             = libroEditDto.Titulo;
                    libroListDto.ISBN               = libroEditDto.ISBN;
                    libroListDto.Editorial          = libroEditDto.Editorial.NombreEditorial;
                    libroListDto.NombreGenero       = libroEditDto.Genero.Descripcion;
                    libroListDto.NombreSubGenero    = libroEditDto.SubGenero.NombreSubGenero;
                    libroListDto.FechaIncorporacion = libroEditDto.FechaIncorporacion;
                    libroListDto.DescripcionEstado  = libroEditDto.Estado.Descripcion;
                    libroListDto.Observaciones      = libroEditDto.Observaciones;
                    libroListDto.Disponible         = libroEditDto.Disponible;
                    libroListDto.Stock              = libroEditDto.Stock;
                    SetearFila(r, libroListDto);
                    MessageBox.Show("Registro Editado", "Mensaje", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
                else
                {
                    SetearFila(r, libroListDtoAuxiliar);
                    MessageBox.Show("Registro ya existente", "Mensaje", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
            catch (Exception exception)
            {
                SetearFila(r, libroListDtoAuxiliar);

                MessageBox.Show(exception.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }