public static IEnumerable <PremioAporte> ToEventoAporte(this IAporteApropriado contrato) { var evento = new EventoAportePremio(contrato.Identificador, contrato.IdentificadorCorrelacao, contrato.IdentificadorNegocio, contrato.DataExecucaoEvento); contrato.Aportes.SafeForEach(premio => evento.AdicionarPremio(premio.ToPremioAporte())); return(evento.Premios); }
public async Task DadoUmEventoAportePremioDevePersistirDadosDoEvento() { var parcela = 1; _eventoAporte = ObterEventoAporte(TipoRegimeFinanceiroEnum.Capitalizacao, parcela); _eventos.Salvar(_eventoAporte).Wait(); var existe = await _eventos.ExisteEvento(_identificador); Assert.That(existe, Is.EqualTo(true)); Assert.That(_eventoEmissao.Id, Is.Not.EqualTo(default(Guid))); }
public async Task <EventoPremio> Com(IAporteApropriado message) { var evento = new EventoAportePremio(message.Identificador, message.IdentificadorCorrelacao, message.IdentificadorNegocio, message.DataExecucaoEvento); foreach (var parcela in message.Aportes) { var premio = (await _premios.CriarPremio(_mapear.ToPremio(parcela), evento)) .ComPagamento(_mapear.ToPagamentoPremio(parcela.Pagamento)) .ComNumero(evento.ParcelaAporte); evento.AdicionarPremio(premio); } return(evento); }
public async Task DadoUmEventoAportePremioDevePersistirDadosDoPremio() { var parcela = 10; _eventoAporte = ObterEventoAporte(TipoRegimeFinanceiroEnum.FundoAcumulacao, parcela); _eventos.Salvar(_eventoAporte).Wait(); var premio = _eventoAporte.Premios.First(); _premios = GetInstance <IPremios>(); var dto = await _premios.ObterPorItemCertificado <PagamentoPremio>(premio.ItemCertificadoApoliceId, (short)TipoMovimentoEnum.Aporte, parcela); Assert.That(dto.DataPagamento, Is.EqualTo(premio.Pagamento.DataPagamento)); Assert.That(dto.DataApropriacao, Is.EqualTo(premio.Pagamento.DataApropriacao)); Assert.That(dto.ValorPago, Is.EqualTo(premio.Pagamento.ValorPago)); Assert.That(dto.Desconto, Is.EqualTo(premio.Pagamento.Desconto)); Assert.That(dto.Multa, Is.EqualTo(premio.Pagamento.Multa)); Assert.That(dto.IOFARecolher, Is.EqualTo(premio.Pagamento.IOFARecolher)); Assert.That(dto.IOFRetido, Is.EqualTo(premio.Pagamento.IOFRetido)); Assert.That(dto.IdentificadorCredito, Is.EqualTo(premio.Pagamento.IdentificadorCredito)); }