コード例 #1
0
        public bool Lancamentos(int contaOrigem, int contaDestino, decimal ValorMovimentacao)
        {
            try
            {
                var origem  = _contaCorrenteRepositorio.ListarPorCodigo(contaOrigem);
                var destino = _contaCorrenteRepositorio.ListarPorCodigo(contaDestino);
                if (origem == null || destino == null || ValorMovimentacao <= 0)
                {
                    return(false);
                }
                var id = 1;
                if (_lancamentosRepositorio.ListarTodos().Any())
                {
                    id += (int)_lancamentosRepositorio.ListarTodos().Max(x => x.ID);
                }
                _lancamentosRepositorio.Adicionar(new Lancamentos(id, origem, destino, ValorMovimentacao));

                origem.Debito(ValorMovimentacao);
                _contaCorrenteRepositorio.Atualizar(origem);
                destino.Credito(ValorMovimentacao);
                _contaCorrenteRepositorio.Atualizar(destino);



                return(true);
            }
            catch (Exception)
            {
                return(false);
            }
        }