public static IEnumerable <PremioApropriado> ToEventoApropriacao(this IParcelaApropriada premioApropriado) { var evento = new EventoApropriacaoPremio(premioApropriado.Identificador, premioApropriado.IdentificadorCorrelacao, premioApropriado.IdentificadorNegocio, premioApropriado.DataExecucaoEvento); premioApropriado.Parcelas.SafeForEach(premio => evento.AdicionarPremiosApropriados(premio.ToPremioApropriado())); return(evento.Premios); }
public async Task DadoUmEventoApropriacaoPremioDevePersistirDadosdoEvento() { var parcela = 1; _eventoApropriacao = ObterEventoApropriado(TipoRegimeFinanceiroEnum.Capitalizacao, parcela); _eventos.Salvar(_eventoApropriacao).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(IParcelaApropriada message) { var evento = new EventoApropriacaoPremio(message.Identificador, message.IdentificadorCorrelacao, message.IdentificadorNegocio, message.DataExecucaoEvento); foreach (var parcela in message.Parcelas) { var premio = (await _premios.CriarPremio(_mapear.ToPremio(parcela), evento)) .ComPagamento(_mapear.ToPagamentoPremio(parcela.Pagamento)); evento.AdicionarPremio(premio); } return(evento); }
public async Task DadoUmEventoDeApropriacaoRSNãoDevePersistirDados() { var parcela = IdentificadoresPadrao.NumeroParcela; _eventoApropriacao = ObterEventoApropriado(TipoRegimeFinanceiroEnum.FundoAcumulacao, parcela); _eventos.Salvar(_eventoApropriacao).Wait(); var premio = _eventoApropriacao.Premios.First(); _premios = GetInstance <IPremios>(); var dtoPremio = await _premios.ObterPorItemCertificado <Premio>(premio.ItemCertificadoApoliceId, (short)TipoMovimentoEnum.Apropriacao, parcela); _provisoes = GetInstance <IProvisoes>(); var dtoProvisao = await _provisoes.Obter(premio.Id, premio.Cobertura.Id, (short)TipoProvisaoEnum.PMBAC, (short)TipoMovimentoEnum.Apropriacao, parcela); Assert.That(dtoPremio, Is.Not.Null); Assert.That(dtoProvisao, Is.Null); }
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); }
public async Task DadoUmEventoApropriacaoPremioDevePersistirDadosDoPremio() { var parcela = 10; _eventoApropriacao = ObterEventoApropriado(TipoRegimeFinanceiroEnum.Capitalizacao, parcela); _eventos.Salvar(_eventoApropriacao).Wait(); var premio = _eventoApropriacao.Premios.First(); _premios = GetInstance <IPremios>(); var dto = await _premios.ObterPorItemCertificado <PagamentoPremio>(premio.ItemCertificadoApoliceId, (short)TipoMovimentoEnum.Apropriacao, 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)); }