Ejemplo n.º 1
0
        public async Task <ActionResult <Autor> > GetAutor(int id)
        {
            var autor = await _repository.GetByIdAsync(id);

            if (autor == null)
            {
                return(NotFound());
            }

            return(autor);
        }
Ejemplo n.º 2
0
        public async Task <bool> CreateBook(BookContract request)
        {
            Autor autor = await _autorRepository.GetByIdAsync(request.AutorId);

            if (autor == null)
            {
                throw new Exception("El autor no está registrado");
            }

            Editorial editorial = await _editorialRepository.GetByIdAsync(request.EditorialId);

            if (editorial == null)
            {
                throw new Exception("La editorial no está registrada");
            }

            if (editorial.MaxBook != -1)
            {
                int count = _editorialRepository.GetCountForEditorial(editorial.Id);
                if (count == editorial.MaxBook)
                {
                    throw new Exception("No es posible registrar el libro, se alcanzó el máximo permitido.");
                }
            }

            Book book = _mapper.Map <Book>(request);
            await _bookRepository.CreateAsync(book);

            return(true);
        }
Ejemplo n.º 3
0
 public async Task <AutorEntity> GetByIdAsync(int id)
 {
     return(await _autorRepository.GetByIdAsync(id));
 }