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)));
        }
Exemple #3
0
        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));
        }