private Transacao(string cobrancaId, decimal valor, StatusTransacaoCartaoValueObject statusTransacao, Transacao transacaoAnterior) { CobrancaId = cobrancaId; Valor = valor; Status = statusTransacao; AddEvent(new ReprocessandoTransacaoCartaoEvent(this, transacaoAnterior)); }
public Transacao(string cobrancaId, CartaoCredito cartaoCredito, decimal valor) { if (!cartaoCredito.ProcessamentoFinalizado) { throw new CartaoCreditoNaoProcessadoException(); } CobrancaId = cobrancaId; CartaoId = cartaoCredito.Id; Valor = valor; Status = StatusTransacaoCartaoValueObject.Processando(); AddEvent(new TransacaoCartaoCriadaEvent(Id.ToString())); }