Exemple #1
0
 public async Task <MovimentoProvisao> Obter(Guid premioId, Guid coberturaId, short tipoProvisaoId, short tipoMovimentoId, int numeroParcela)
 {
     return(await CreateCommand.QueryOneAsync <MovimentoProvisao>
                (@"SELECT M.Id,
                   M.ProvisaoCoberturaId,
                   M.EventoId,
                   M.PremioId,
                   M.DataMovimento AS DataMovimentacao,
                   M.QuantidadeContribuicoes,
                   M.Fator,
                   M.PercentualCarregamento,
                   M.ValorBeneficioCorrigido,
                   M.ValorJuros,
                   M.ValorAtualizacao,
                   M.ValorSobrevivencia,
                   M.ValorProvisao,
                   M.Desvio,
                   M.ValorFIF
              FROM MovimentoProvisaoPremio M
             INNER JOIN ProvisaoCobertura P ON P.Id = M.ProvisaoCoberturaId
             INNER JOIN Premio PR ON PR.Id = M.PremioId
             WHERE P.CoberturaContratadaId = @CoberturaId
               AND P.TipoProvisaoId = @TipoProvisaoId
               AND M.PremioId = @PremioId
               AND PR.TipoMovimentoId = @TipoMovimento
               AND PR.Numero = @Numero",
                new
     {
         @PremioId = premioId,
         @CoberturaId = coberturaId,
         @TipoProvisaoId = tipoProvisaoId,
         @TipoMovimento = tipoMovimentoId,
         @Numero = numeroParcela
     }));
 }
Exemple #2
0
        public async Task <bool> Contem(long itemCertificadoApoliceId)
        {
            var query = await CreateCommand.QueryOneAsync <Guid>
                            (@"SELECT top 1 Id
                        FROM CoberturaContratada
                    WHERE ItemCertificadoApoliceId = @Id", new { Id = itemCertificadoApoliceId });

            return(query != default(Guid));
        }
        public async Task <HistoricoCoberturaContratada> ObterHistoricoCobertura(long itemCertificadoApoliceId, short tipoevento)
        {
            return(await CreateCommand.QueryOneAsync <HistoricoCoberturaContratada>
                       (@"SELECT H.*
                    FROM HistoricoCoberturaContratada H INNER JOIN Evento E ON E.Id = H.EventoId
                    INNER JOIN CoberturaContratada C ON C.Id = H.CoberturaContratadaId
                WHERE C.ItemCertificadoApoliceId = @Id AND E.TipoEventoId = @tipoeventoid", new { Id = itemCertificadoApoliceId, tipoeventoid = tipoevento }

                       ));
        }
Exemple #4
0
        public async Task <bool> Contem(long itemCertificadoApoliceId)
        {
            var query = await CreateCommand.QueryOneAsync <Guid>
                            (@"SELECT Top 1 P.Id
                     FROM Premio P
                    INNER JOIN HistoricoCoberturaContratada H ON H.Id = P.HistoricoCoberturaId
                    INNER JOIN CoberturaContratada C ON C.Id = H.CoberturaContratadaId
                    WHERE C.ItemCertificadoApoliceId = @Id", new { Id = itemCertificadoApoliceId });

            return(query != default(Guid));
        }
Exemple #5
0
        public async Task <MovimentoProvisao> ObterMovimentoProvisao(long itemCertificadoApoliceId, short tipoevento)
        {
            return(await CreateCommand.QueryOneAsync <MovimentoProvisao>
                       (@"SELECT M.*
                    FROM MovimentoProvisaoPremio M INNER JOIN Evento E ON E.Id = M.EventoId
                    INNER JOIN ProvisaoCobertura P ON P.Id   = M.ProvisaoCoberturaId
                    INNER JOIN CoberturaContratada C ON C.Id = P.CoberturaContratadaId
                WHERE C.ItemCertificadoApoliceId = @Id AND TipoEventoId = @tipoeventoid", new { Id = itemCertificadoApoliceId, tipoeventoid = tipoevento }

                       ));
        }
Exemple #6
0
        public async Task <Premio> ObterPremioAnterior(long itemCertificadoApoliceId, int numeroParcela)
        {
            var query = @"SELECT Top 1 P.*
                            FROM Premio P
                           INNER JOIN HistoricoCoberturaContratada H ON H.Id = P.HistoricoCoberturaId
                           INNER JOIN CoberturaContratada C ON C.Id = H.CoberturaContratadaId
                           WHERE C.ItemCertificadoApoliceId = @Id                             
                             AND P.Numero = @Numero
                           ORDER BY P.Sequencial DESC";

            return(await CreateCommand.QueryOneAsync <Premio>(query, new { Id = itemCertificadoApoliceId, Numero = numeroParcela }));
        }
Exemple #7
0
        public async Task <MovimentoProvisao> ObterUltimoMovimento(long itemCertificadoApoliceId, TipoProvisaoEnum tipoProvisao)
        {
            var query = @"SELECT Top 1 M.*
                            FROM MovimentoProvisaoPremio M
                           INNER JOIN Premio P ON P.Id = M.PremioId
                           INNER JOIN ProvisaoCobertura PC ON PC.Id = M.ProvisaoCoberturaId AND PC.TipoProvisaoId = @Tipo
                           INNER JOIN CoberturaContratada C ON C.Id = PC.CoberturaContratadaId
                           WHERE C.ItemCertificadoApoliceId = @Id
                           ORDER BY M.Sequencial DESC";

            return(await CreateCommand.QueryOneAsync <MovimentoProvisao>(query, new { Id = itemCertificadoApoliceId, Tipo = (int)tipoProvisao }));
        }
Exemple #8
0
        public async Task <CoberturaContratada> ObterPorItemCertificado(long itemCertificadoApoliceId)
        {
            var query = await CreateCommand.QueryOneAsync <CoberturaContratada>
                            (@"SELECT Top 1 *
                     FROM CoberturaContratada
                    WHERE ItemCertificadoApoliceId = @Id", new { Id = itemCertificadoApoliceId });

            if (query != null)
            {
                query.Historico = await ObterHistoricosCobertura(query.Id);
            }


            return(query);
        }
Exemple #9
0
        public async Task <HistoricoCoberturaContratada> ObterHistoricosCobertura(Guid Id)
        {
            return(await CreateCommand.QueryOneAsync <HistoricoCoberturaContratada>
                       (@"SELECT TOP 1 H.Id,
	                    H.EventoId,
	                    H.CoberturaContratadaId,
	                    H.StatusCoberturaId AS StatusId,
	                    H.DataNascimentoBeneficiario,
	                    H.SexoBeneficiario,
	                    H.PeriodicidadeId,
	                    H.Sequencia,
                        H.ValorBeneficio,
                        H.ValorCapital,
                        H.ValorContribuicao
                     FROM HistoricoCoberturaContratada H
                    WHERE CoberturaContratadaId = @Id
                    ORDER BY Sequencia DESC", new { Id = Id }));
        }
Exemple #10
0
 public async Task <T> ObterPorItemCertificado <T>(long itemCertificadoApoliceId, short tipoMovimentoId, int numeroParcela) where T : class
 {
     return(await CreateCommand.QueryOneAsync <T>
                (@"SELECT P.Id 
                  ,P.EventoId
                  ,P.HistoricoCoberturaId
                  ,P.TipoMovimentoId
                  ,P.Numero
                  ,P.Competencia
                  ,P.InicioVigencia
                  ,P.FimVigencia
                  ,P.ValorPremio
                  ,P.ValorCarregamento
                  ,P.ValorBeneficio
                  ,P.ValorCapitalSegurado
                  ,P.DataPagamento
                  ,P.DataApropriacao
                  ,P.ValorPago
                  ,P.Desconto
                  ,P.Multa
                  ,P.IOFRetido
                  ,P.IOFARecolher
                  ,P.IdentificadorCredito
                  ,C.ItemCertificadoApoliceId
                  ,P.CodigoSusep
              FROM Premio P
             INNER JOIN HistoricoCoberturaContratada H ON H.Id = P.HistoricoCoberturaId
             INNER JOIN CoberturaContratada C ON C.Id = H.CoberturaContratadaId
             WHERE C.ItemCertificadoApoliceId = @Id
               AND P.TipoMovimentoId = @TipoId
               AND P.Numero = @Numero"
                , new
     {
         Id = itemCertificadoApoliceId,
         TipoId = tipoMovimentoId,
         Numero = numeroParcela
     }));
 }