public async Task <EventoAlteracao> ToEventoAlteracao(IProposta proposta)
        {
            var historicos = new List <HistoricoCoberturaContratada>();

            foreach (var produto in proposta.Produtos)
            {
                var beneficiario = produto.Beneficiarios?.OrderByDescending(d => d.DataNascimento).FirstOrDefault();
                foreach (var cobertura in produto.Coberturas)
                {
                    var historico = new HistoricoCoberturaContratada(await _coberturas.ObterPorItemCertificado(long.Parse(cobertura.IdentificadorExterno)))
                    {
                        SexoBeneficiario           = beneficiario?.Sexo,
                        DataNascimentoBeneficiario = beneficiario?.DataNascimento,
                        PeriodicidadeId            = (short)proposta.DadosPagamento?.Periodicidade,
                        ValorBeneficio             = cobertura.ValorBeneficio,
                        ValorCapital      = cobertura.ValorCapital,
                        ValorContribuicao = cobertura.ValorContribuicao,
                    };

                    historico.InformaStatus(StatusCobertura.StatusCoberturaEnum.Activa, proposta.DataImplantacao);

                    historicos.Add(historico);
                }
            }

            return(new EventoAlteracao(proposta.Identificador, proposta.IdentificadorCorrelacao, proposta.IdentificadorNegocio, proposta.DataExecucaoEvento)
                   .ComHistorico(historicos));
        }
Пример #2
0
        public async Task Salvar(HistoricoCoberturaContratada dto)
        {
            const string proc = "sp_CriaHistoricoCobertura";

            var objeto = CarregarParametros(dto);

            dto.Id = await CreateCommand.ExecuteScalarAsync <Guid>(proc, objeto, commandType : CommandType.StoredProcedure);
        }
Пример #3
0
 public object CarregarParametros(HistoricoCoberturaContratada dto)
 {
     return(new
     {
         dto.EventoId,
         dto.CoberturaContratadaId,
         dto.PeriodicidadeId,
         DataNascimentoBeneficiario = dto.DataNascimentoBeneficiario != default(DateTime) ? dto.DataNascimentoBeneficiario : default(DateTime?),
         dto.SexoBeneficiario,
         dto.ValorBeneficio,
         dto.ValorCapital,
         dto.ValorContribuicao,
         StatusCoberturaId = (short)dto.Status.Staus
     });
 }
Пример #4
0
        public static HistoricoCoberturaContratada ObterHistorico(CoberturaContratada coberturaContratada,
                                                                  List <IBeneficiario> beneficiarios, Periodicidade?periodicidade,
                                                                  decimal valorBeneficio, decimal valorCapital, decimal valorContribuicao, DateTime dataImplantacao)
        {
            var beneficiarioMaisNovo = beneficiarios?.OrderByDescending(x => x.DataNascimento).FirstOrDefault();

            var dto = new HistoricoCoberturaContratada(coberturaContratada)
            {
                SexoBeneficiario           = beneficiarioMaisNovo?.Sexo,
                DataNascimentoBeneficiario = beneficiarioMaisNovo?.DataNascimento,
                PeriodicidadeId            = (int)periodicidade.GetValueOrDefault(),
                ValorBeneficio             = valorBeneficio,
                ValorCapital      = valorCapital,
                ValorContribuicao = valorContribuicao
            };

            dto.InformaStatus(StatusCobertura.StatusCoberturaEnum.Activa, dataImplantacao);

            return(dto);
        }
Пример #5
0
        public static HistoricoCoberturaContratada ObterHistorico(CoberturaContratada coberturaContratada,
                                                                  List <IBeneficiario> beneficiarios, Periodicidade?periodicidade,
                                                                  decimal valorBeneficio, decimal valorCapital, decimal valorContribuicao)
        {
            var dto = new HistoricoCoberturaContratada(coberturaContratada);

            var beneficiarioMaisNovo = beneficiarios?.OrderByDescending(x => x.DataNascimento).FirstOrDefault();

            dto.SexoBeneficiario           = beneficiarioMaisNovo?.Sexo;
            dto.DataNascimentoBeneficiario = beneficiarioMaisNovo?.DataNascimento;

            if (periodicidade != null)
            {
                dto.PeriodicidadeId = (int)periodicidade;
            }

            dto.ValorBeneficio    = valorBeneficio;
            dto.ValorCapital      = valorCapital;
            dto.ValorContribuicao = valorContribuicao;

            return(dto);
        }