public async Task Armazenar(LivroDto dto) { _validadorDelivro.Validar(dto); var livro = Novolivro(dto); if (_notify.IsValid()) { if (dto.Id.Value > Constantes.Zero) { livro = await _livroRepositorio.ObterPorIdAsync(dto.Id.Value); _alteradorDeLivro.Alterar(livro, dto); } if (livro.Validar() && livro.Id == Constantes.Zero) { var livroExistente = await _livroRepositorio.ObterPorTitulo(livro.Titulo); _validadorDelivro.ValidarSeLivroExiste(livroExistente); if (_notify.IsValid()) { await _livroRepositorio.AdicionarAsync(livro); } } else { _notify.NewNotification(livro.ValidationResult); } } }