private Libro CrearLibroDesdeFila(DataRow fila)
        {
            var id        = fila["libro_id"] as int? ?? 0;
            var nro       = fila["nro_libro"] as int? ?? 0;
            var titulo    = fila["titulo"] as string;
            var isbn      = fila["isbn"] as string;
            var editorial = fila["editorial"] as string;
            var fecha     = fila["fecha"] as DateTime? ?? default;

            return(new Libro(
                       id: EntidadId.Of(id),
                       numero: NroPublicacion.Of(nro),
                       autores: new List <Autor>(),
                       fecha: Fecha.Of(fecha),
                       titulo: Titulo.Of(titulo),
                       isbn: ISBN.Of(isbn),
                       editorial: Editorial.Of(editorial)
                       ));
        }
        public void Guardar()
        {
            try
            {
                if (!_vista.DatosLibroControl.Valido)
                {
                    throw new DatosLibroInvalidosException(_vista.DatosLibroControl);
                }
                var nro       = _vista.Numero;
                var titulo    = _vista.Titulo;
                var editorial = _vista.Editorial;
                var fecha     = _vista.Fecha;
                var isbn      = _vista.Isbn;
                var autores   = _vista.Autores;

                var libro = new Libro(
                    numero: NroPublicacion.Of(nro),
                    titulo: Titulo.Of(titulo),
                    editorial: Editorial.Of(editorial),
                    fecha: Fecha.Of(fecha),
                    isbn: ISBN.Of(isbn),
                    autores: autores.Select(a => a.ToEntity()).ToList()
                    );
                if (_libroServicio.VerificarDuplicados(libro))
                {
                    throw new LibroDuplicadoException(libro);
                }
                _libroServicio.Guardar(libro);
                MostrarLibros();
                LimpiarDatos();
            }
            catch (Exception e)
            {
                MostrarMensaje(e.Message);
            }
        }