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);
            }
        }
        private void NuevoMetroButton_Click(object sender, EventArgs e)
        {
            LibroAEForm frm = new LibroAEForm();

            frm.Text = "Agregar Libro";
            DialogResult dr = frm.ShowDialog(this);

            if (dr == DialogResult.Cancel)
            {
                return;
            }
            try
            {
                LibroEditDto libroEditDto = frm.GetLibro();
                // controlar repetidos
                if (_servicio.Existe(libroEditDto))
                {
                    MessageBox.Show("Registro Repetido", "Mensaje", MessageBoxButtons.OK,
                                    MessageBoxIcon.Error);
                    return;
                }
                //si no esta repedido lo guardamos

                _servicio.Guardar(libroEditDto);
                DataGridViewRow r            = ConstruirFila();
                LibroListDto    libroListDto = new LibroListDto//mapeo
                {
                    LibroId            = libroEditDto.LibroId,
                    Titulo             = libroEditDto.Titulo,
                    ISBN               = libroEditDto.ISBN,
                    Editorial          = libroEditDto.Editorial.NombreEditorial,
                    NombreGenero       = libroEditDto.Genero.Descripcion,
                    NombreSubGenero    = libroEditDto.SubGenero.NombreSubGenero,
                    FechaIncorporacion = libroEditDto.FechaIncorporacion,
                    DescripcionEstado  = libroEditDto.Estado.Descripcion,
                    Observaciones      = libroEditDto.Observaciones,
                    Disponible         = libroEditDto.Disponible,
                    Stock              = libroEditDto.Stock
                };

                SetearFila(r, libroListDto);
                AgregarFila(r);
                MessageBox.Show("Registro Agregado", "Mensaje", MessageBoxButtons.OK,
                                MessageBoxIcon.Information);
            }
            catch (Exception exception)
            {
                MessageBox.Show(exception.Message, "Error", MessageBoxButtons.OK,
                                MessageBoxIcon.Error);
            }
        }