Exemplo n.º 1
0
        public static Operacao EfetuarOperacao(Conta origem, Conta destino, decimal valor
                                               , TipoOperacao tipo)
        {
            if (tipo == TipoOperacao.Credito)
            {
                origem.Creditar(valor);
                destino.Debitar(valor);
            }

            if (tipo == TipoOperacao.Debito)
            {
                origem.Debitar(valor);
                destino.Creditar(valor);
            }

            var operacao = new Operacao
            {
                ContaOrigem  = origem,
                ContaDestino = destino,
                Tipo         = tipo,
                DateCriacao  = DateTime.Now
            };

            Lancamento.Registrar(operacao);

            return(operacao);
        }