public async Task <ISaida> ObterLancamentoPorId(int idLancamento, int idUsuario) { this.NotificarSeMenorOuIgualA(idLancamento, 0, LancamentoMensagem.Id_Lancamento_Invalido); this.NotificarSeMenorOuIgualA(idUsuario, 0, Mensagem.Id_Usuario_Invalido); if (this.Invalido) { return(new Saida(false, this.Mensagens, null)); } var lancamento = await _lancamentoRepositorio.ObterPorId(idLancamento); // Verifica se o lançamento existe this.NotificarSeNulo(lancamento, LancamentoMensagem.Id_Lancamento_Nao_Existe); if (this.Invalido) { return(new Saida(false, this.Mensagens, null)); } // Verifica se o lançamento pertece ao usuário informado. this.NotificarSeDiferentes(lancamento.IdUsuario, idUsuario, LancamentoMensagem.Lancamento_Nao_Pertence_Usuario); return(this.Invalido ? new Saida(false, this.Mensagens, null) : new Saida(true, new[] { LancamentoMensagem.Lancamento_Encontrado_Com_Sucesso }, new LancamentoSaida(lancamento))); }