/// <summary>
        /// Crea un registro de libro
        /// </summary>
        /// <param name="objLibro"></param>
        public RespuestaGenerica CrearLibro(Libro objLibro)
        {
            _utilRespuesta = new Utility.Util();
            _mensaje       = string.Empty;

            try
            {
                _context.Libro.Add(objLibro);
                _context.SaveChanges();
            }
            catch (Exception ex)
            {
                _mensaje = ex.Message;
            }
            return(_utilRespuesta.ObtieneRespuesta(_mensaje, objLibro));
        }
        /// <summary>
        /// Obtiene un Libro por el índice de la tabla
        /// </summary>
        /// <param name="LibroId">Índice de la tabla para el registo del Libro</param>
        public RespuestaGenerica ObtenerLibro(string Isbn)
        {
            _utilRespuesta = new Utility.Util();
            _mensaje       = string.Empty;
            Libro objLibro = new Libro();

            try
            {
                objLibro = _context.Libro.Find(Isbn);
            }
            catch (Exception ex)
            {
                _mensaje = ex.Message;
            }
            return(_utilRespuesta.ObtieneRespuesta(_mensaje, objLibro));
        }
        /// <summary>
        ///
        /// </summary>
        /// <param name="objCategoria"></param>
        public RespuestaGenerica CrearCategoria(Categoria objCategoria)
        {
            _utilRespuesta = new Utility.Util();
            _mensaje       = string.Empty;

            try
            {
                _context.Categoria.Add(objCategoria);
                _context.SaveChanges();
            }
            catch (Exception ex)
            {
                _mensaje = ex.Message;
            }
            return(_utilRespuesta.ObtieneRespuesta(_mensaje, objCategoria));
        }
        /// <summary>
        /// Obtiene un Categoria por el índice de la tabla
        /// </summary>
        /// <param name="CategoriaId">Índice de la tabla para el registo del Categoria</param>
        public RespuestaGenerica ObtenerCategoria(int CategoriaId)
        {
            _utilRespuesta = new Utility.Util();
            _mensaje       = string.Empty;
            Categoria objCategoria = new Categoria();

            try
            {
                objCategoria = _context.Categoria.Find(CategoriaId);
            }
            catch (Exception ex)
            {
                _mensaje = ex.Message;
            }
            return(_utilRespuesta.ObtieneRespuesta(_mensaje, objCategoria));
        }
        /// <summary>
        /// Obtiene un autor por el índice de la tabla
        /// </summary>
        /// <param name="autorId">Índice de la tabla para el registo del autor</param>
        public RespuestaGenerica ObtenerAutor(int autorId)
        {
            _utilRespuesta = new Utility.Util();
            _mensaje       = string.Empty;
            Autor objAutor = new Autor();

            try
            {
                objAutor = _context.Autor.Find(autorId);
            }
            catch (Exception ex)
            {
                _mensaje = ex.Message;
            }
            return(_utilRespuesta.ObtieneRespuesta(_mensaje, objAutor));
        }
        /// <summary>
        /// Actualiza la información de un Libro
        /// </summary>
        /// <param name="objAutor"></param>
        public RespuestaGenerica ActualizarLibro(Libro objLibro)
        {
            _utilRespuesta = new Utility.Util();
            _mensaje       = string.Empty;

            try
            {
                _context.Entry(objLibro).State = EntityState.Modified;
                _context.SaveChangesAsync();
            }
            catch (Exception ex)
            {
                _mensaje = ex.Message;
            }

            return(_utilRespuesta.ObtieneRespuesta(_mensaje, objLibro));
        }
        /// <summary>
        /// Obtiene una lista de Libros
        /// </summary>
        /// <returns>Lista de Libros</returns>
        public RespuestaGenerica ObtenerLibros()
        {
            _utilRespuesta = new Utility.Util();
            _mensaje       = string.Empty;
            List <Libro> LibroLista = new List <Libro>();

            try
            {
                LibroLista = _context.Libro.ToList();
            }
            catch (Exception ex)
            {
                _mensaje = ex.Message;
            }

            return(_utilRespuesta.ObtieneRespuesta(_mensaje, LibroLista));
        }
        /// <summary>
        /// Obtiene una lista de Categorias
        /// </summary>
        /// <returns>Lista de Categorias</returns>
        public RespuestaGenerica ObtenerCategorias()
        {
            _utilRespuesta = new Utility.Util();
            _mensaje       = string.Empty;
            List <Categoria> CategoriaLista = new List <Categoria>();

            try
            {
                CategoriaLista = _context.Categoria.ToList();
            }
            catch (Exception ex)
            {
                _mensaje = ex.Message;
            }

            return(_utilRespuesta.ObtieneRespuesta(_mensaje, CategoriaLista));
        }
        /// <summary>
        /// Obtiene una lista de autores
        /// </summary>
        /// <returns>Lista de autores</returns>
        public RespuestaGenerica ObtenerAutores()
        {
            _utilRespuesta = new Utility.Util();
            _mensaje       = string.Empty;
            List <Autor> autorLista = new List <Autor>();

            try
            {
                autorLista = _context.Autor.ToList();
            }
            catch (Exception ex)
            {
                _mensaje = ex.Message;
            }

            return(_utilRespuesta.ObtieneRespuesta(_mensaje, autorLista));
        }
        /// <summary>
        /// Elimina un Libro
        /// </summary>
        /// <param name="LibroId"></param>
        public RespuestaGenerica EliminarLibro(string Isbn)
        {
            _utilRespuesta = new Utility.Util();
            _mensaje       = string.Empty;
            Libro objLibro = new Libro();

            try
            {
                objLibro = _context.Libro.Find(Isbn);
                if (objLibro != null)
                {
                    _context.Libro.Remove(objLibro);
                    _context.SaveChangesAsync();
                }
            }
            catch (Exception ex)
            {
                _mensaje = ex.Message;
            }

            return(_utilRespuesta.ObtieneRespuesta(_mensaje, objLibro));
        }
        /// <summary>
        /// Elimina un Categoria
        /// </summary>
        /// <param name="CategoriaId"></param>
        public RespuestaGenerica EliminarCategoria(int CategoriaId)
        {
            _utilRespuesta = new Utility.Util();
            _mensaje       = string.Empty;
            Categoria objCategoria = new Categoria();

            try
            {
                objCategoria = _context.Categoria.Find(CategoriaId);
                if (objCategoria != null)
                {
                    _context.Categoria.Remove(objCategoria);
                    _context.SaveChangesAsync();
                }
            }
            catch (Exception ex)
            {
                _mensaje = ex.Message;
            }

            return(_utilRespuesta.ObtieneRespuesta(_mensaje, objCategoria));
        }
        /// <summary>
        /// Elimina un autor
        /// </summary>
        /// <param name="autorId"></param>
        public RespuestaGenerica EliminarAutor(int autorId)
        {
            _utilRespuesta = new Utility.Util();
            _mensaje       = string.Empty;
            Autor objAutor = new Autor();

            try
            {
                objAutor = _context.Autor.Find(autorId);
                if (objAutor != null)
                {
                    _context.Autor.Remove(objAutor);
                    _context.SaveChangesAsync();
                }
            }
            catch (Exception ex)
            {
                _mensaje = ex.Message;
            }

            return(_utilRespuesta.ObtieneRespuesta(_mensaje, objAutor));
        }