示例#1
0
        public static IEnumerable <PremioPortabilidade> ToEventoPortabilidade(this IPortabilidadeApropriada contrato)
        {
            var evento = new EventoPortabilidadePremio(contrato.Identificador, contrato.IdentificadorCorrelacao, contrato.IdentificadorNegocio, contrato.DataExecucaoEvento);

            contrato.Portabilidades.SafeForEach(premio => evento.AdicionarPremio(premio.ToPremioPortabilidade()));

            return(evento.Premios);
        }
示例#2
0
        public async Task <EventoPremio> Com(IPortabilidadeApropriada message)
        {
            var evento = new EventoPortabilidadePremio(message.Identificador, message.IdentificadorCorrelacao, message.IdentificadorNegocio, message.DataExecucaoEvento);

            foreach (var parcela in message.Portabilidades)
            {
                var premio = (await _premios.CriarPremio(_mapear.ToPremio(parcela), evento))
                             .ComPagamento(_mapear.ToPagamentoPremio(parcela.Pagamento))
                             .ComNumero(evento.ParcelaPortabilidade)
                             .ComCodigoSusep(parcela.CodigoSusep);

                evento.AdicionarPremio(premio);
            }
            return(evento);
        }