public async Task <EventoCobertura> Fabricar(IEvento evento)
        {
            EventoCobertura eventoCobertura;

            eventoCobertura = await _fabricarEventoCobertura.Com(evento);


            Assertion.NotNull(eventoCobertura, $"Impossivel criar um evento para {evento.GetType()}");


            return(eventoCobertura);
        }
Exemplo n.º 2
0
        public async Task <EventoPremio> Fabricar(IEvento evento)
        {
            EventoPremio eventoPremio;

            switch (evento)
            {
            case IParcelaEmitida emissao:
                eventoPremio = await _fabricarEventoPremio.Com(emissao);

                break;

            case IParcelaApropriada apropriacao:
                eventoPremio = await _fabricarEventoPremio.Com(apropriacao);

                break;

            case IParcelaDesapropriada desapropriacao:
                eventoPremio = await _fabricarEventoPremio.Com(desapropriacao);

                break;

            case IParcelaAjustada ajuste:
                eventoPremio = await _fabricarEventoPremio.Com(ajuste);

                break;

            case IAporteApropriado aporte:
                eventoPremio = await _fabricarEventoPremio.Com(aporte);

                break;

            case IPortabilidadeApropriada portabilidade:
                eventoPremio = await _fabricarEventoPremio.Com(portabilidade);

                break;

            default:
                eventoPremio = null;
                break;
            }

            Assertion.NotNull(eventoPremio, $"Impossivel criar um evento para {evento.GetType()}");

            return(eventoPremio);
        }