public bool Transferir(TransferenciaBancariaDTO dadosTransferencia) { try { Transacao.ExecutarEmTransacao(() => { Lancamentos lancamento = new Lancamentos(dadosTransferencia.ContaOrigem, dadosTransferencia.contaDestino, dadosTransferencia.Valor); ContaCorrente origem = _contaRepositorio.Buscar(dadosTransferencia.ContaOrigem); ContaCorrente destino = _contaRepositorio.Buscar(dadosTransferencia.contaDestino); if (origem == null || destino == null) { throw new ArgumentNullException(ValidationResource.ContaNaoExistente); } origem.Debitar(dadosTransferencia.Valor); origem.Lancamentos.Add(lancamento); destino.Creditar(dadosTransferencia.Valor); _contaRepositorio.Salvar(origem); _contaRepositorio.Salvar(destino); }); return(true); } catch (Exception e) { throw e; } }
/// <summary> /// Buscar as primeiras contas conforme parametro /// </summary> /// <param name="qtd"></param> /// <returns></returns> public IList <ContaDTO> Buscar(int qtd = 10) { var contas = _contaRepositorio.Buscar(qtd); return(contas.Select(item => new ContaDTO { IdConta = item.IdConta, IdPessoa = item.IdPessoa, SaldoAtual = item.SaldoAtual, Pessoa = new PessoaDTO { IdPessoa = item.IdPessoaNavigation.IdPessoa, CPF = item.IdPessoaNavigation.Cpf, Nome = item.IdPessoaNavigation.Nome, } }).ToList()); }
public Conta Buscar(long id) { return(_contaRepositorio.Buscar(id)); }