public Cobranca FinalizaProcessamentoFormaPagamento() { Transacao.FinalizaProcessamento(); if (Transacao.FormaPagamentoCartao) { RealizarPagamento(Valor); } AddEvent(new FormaPagamentoProcessadaEvent(this)); return(this); }
private Cobranca(string decricao, decimal valor, DateTime vencimento, string configuracaoEmissaoId, Transacao transacao, string nomeCliente, string cpfCnpjCliente, string emailCliente, Telefone telefoneCliente, Endereco enderecoCliente, string tenantIdCliente, CartaoCreditoCobranca cartaoCreditoCobranca = null) { Descricao = decricao; Valor = valor; Vencimento = vencimento; ConfiguracaoEmissaoId = configuracaoEmissaoId; Transacao = transacao; ClienteCobranca = new ClienteCobranca(this, nomeCliente, cpfCnpjCliente, emailCliente, tenantIdCliente, telefoneCliente, enderecoCliente, cartaoCreditoCobranca); AddEvent(new CobrancaCriadaEvent(Id.ToString())); }
public Cobranca ReprocessarTransacao() { if (Status == StatusCobranca.Pago) { throw new ImpossivelRegerarFormaPagamentoParaCobrancaPagaException(); } if (Transacao.ProcessamentoPendente) { throw new ImpossivelRegerarFormaQuandoFormaPagamentoPendenteException(); } Transacao = Transacao.Reprocessar(); AddEvent(new TransacaoCobrancaReprocessandodoEvent(Id.ToString())); return(this); }
public static Cobranca Boleto( string decricao, decimal valor, DateTime vencimento, string configuracaoEmissaoId, string nomeCliente, string cpfCnpjCliente, string emailCliente, Telefone telefoneCliente, Endereco endercoCliente, string tenantIdCliente = null) => new Cobranca(decricao, valor, vencimento, configuracaoEmissaoId, Transacao.Boleto(), nomeCliente, cpfCnpjCliente, emailCliente, telefoneCliente, endercoCliente, tenantIdCliente);
public Cobranca ErroCriarTransacao() { Transacao.Erro(); AddEvent(new FalhaAoProcessarFormaPagamentoEvent(this)); return(this); }