Beispiel #1
0
        public AlterarLivroResponse AlterarLivro(AlterarLivroRequest request)
        {
            if (request == null)
            {
                AddNotification("AlterarLivroRequest", "AlterarLivroRequest é obrigatório.");
            }

            VerificaSeExisteLivroComMesmoTituloEdicao(request.Titulo, request.Edicao, request.Id);

            Livro livro = _repositorioLivro.ObterPorId(request.Id);

            if (livro == null)
            {
                AddNotification("Livro", "Livro não encontrado.");
                return(null);
            }

            livro.AlterarLivro(request);

            AddNotifications(livro);

            if (IsInvalid())
            {
                return(null);
            }

            _repositorioLivro.Editar(livro);

            return((AlterarLivroResponse)livro);
        }