public static IEnumerable <Domain.Premio> ToEventoAjustePremio(this IParcelaAjustada premioAjustado)
        {
            var evento = new EventoAjustePremio(premioAjustado);

            premioAjustado.Parcelas.SafeForEach(premio => evento.AdicionarPremio(premio.ToPremio <Domain.Premio>()));

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

            foreach (var parcela in message.Parcelas)
            {
                evento.AdicionarPremio(await _premios.CriarPremio(_mapear.ToPremio(parcela), evento));
            }

            return(evento);
        }
Beispiel #3
0
        public Domain.EventoPremio ToEvento(dynamic evento, DateTime DataExecucaoEvento)
        {
            EventoPremio eventopremio;

            switch ((TipoEventoEnum)evento.TipoEventoId)
            {
            case TipoEventoEnum.EmissaoPremio:
                eventopremio    = new EventoEmissaoPremio(evento.Identificador, evento.IdentificadorCorrelacao, evento.IdentificadorNegocio, DataExecucaoEvento);
                eventopremio.Id = evento.IDEvento;
                break;

            case TipoEventoEnum.ApropriacaoPremio:
                eventopremio    = new EventoApropriacaoPremio(evento.Identificador, evento.IdentificadorCorrelacao, evento.IdentificadorNegocio, DataExecucaoEvento);
                eventopremio.Id = evento.IDEvento;
                break;

            case TipoEventoEnum.DesapropriacaoPremio:
                eventopremio    = new EventoDesapropriacaoPremio(evento.Identificador, evento.IdentificadorCorrelacao, evento.IdentificadorNegocio, DataExecucaoEvento);
                eventopremio.Id = evento.IDEvento;
                break;

            case TipoEventoEnum.AjustePremio:
                eventopremio    = new EventoAjustePremio(evento.Identificador, evento.IdentificadorCorrelacao, evento.IdentificadorNegocio, DataExecucaoEvento);
                eventopremio.Id = evento.IDEvento;
                break;

            case TipoEventoEnum.PortabilidadePremio:
                eventopremio    = new EventoPortabilidadePremio(evento.Identificador, evento.IdentificadorCorrelacao, evento.IdentificadorNegocio, DataExecucaoEvento);
                eventopremio.Id = evento.IDEvento;
                break;

            default:
                eventopremio = null;
                break;
            }

            return(eventopremio);
        }