public bool Deletar(Conta conta) { if (conta.Id < 1) { throw new NaoEncontradoException(); } return(_repositorioConta.Deletar(conta.Id)); }
public async Task <ISaida> ExcluirConta(int idConta, int idUsuario) { this.NotificarSeMenorOuIgualA(idConta, 0, ContaMensagem.Id_Conta_Invalido); this.NotificarSeMenorOuIgualA(idUsuario, 0, Mensagem.Id_Usuario_Invalido); if (this.Invalido) { return(new Saida(false, this.Mensagens, null)); } var conta = await _contaRepositorio.ObterPorId(idConta); // Verifica se a conta existe this.NotificarSeNulo(conta, ContaMensagem.Id_Conta_Nao_Existe); if (this.Invalido) { return(new Saida(false, this.Mensagens, null)); } // Verifica se a conta pertece ao usuário informado. this.NotificarSeDiferentes(conta.IdUsuario, idUsuario, ContaMensagem.Conta_Excluir_Nao_Pertence_Usuario); if (this.Invalido) { return(new Saida(false, this.Mensagens, null)); } _lancamentoRepositorio.DeletarPorConta(idConta); _agendamentoRepositorio.DeletarPorConta(idConta); _contaRepositorio.Deletar(conta); await _uow.Commit(); return(new Saida(true, new[] { ContaMensagem.Conta_Excluida_Com_Sucesso }, new ContaSaida(conta))); }