示例#1
0
        private void PreencherSimuladorAbaTabelasSubPlano()
        {
            if (Convert.ToInt32(cmbAba5Sub5Sub1Produto.SelectedValue) == (int)ProdutoPrincipal.PLANOPROTECAO &&
                cmbAba5Sub5Sub2Morte.SelectedIndex > 0 && cmbAba5Sub5Sub2Funeral.SelectedIndex > 0)
            {
                TPlanoProtecaoDOMINIO registro = ControllerPlanoProtecao.CalcularPremioFuneral(Convert.ToDecimal(cmbAba5Sub5Sub2Morte.SelectedValue), 0, 0, Convert.ToInt32(cmbAba5Sub5Sub2Funeral.SelectedValue), Convert.ToInt32(cmbAba5Sub5Sub1FaixaBase.SelectedValue));

                lblAba5Sub5Sub2AssistOUConjValor.Text = String.Format(new CultureInfo("pt-BR"), "{0:C}", registro.CoberturaAcidente);
                lblAba5Sub5Sub2IPAValor.Text          = String.Format(new CultureInfo("pt-BR"), "{0:C}", registro.CoberturaEmergencia);
                lblAba5Sub5Sub2PremioPlanoValor.Text  = String.Format(new CultureInfo("pt-BR"), "{0:C}", registro.ValorPremioIdadeBase.GetValueOrDefault());
            }

            if (Convert.ToInt32(cmbAba5Sub5Sub1Produto.SelectedValue) == (int)ProdutoPrincipal.PLANOSENIOR &&
                cmbAba5Sub5Sub2Morte.SelectedIndex > 0 && cmbAba5Sub5Sub2Funeral.SelectedIndex > 0)
            {
                TPlanoSeniorDOMINIO registro = ControllerPlanoSenior.CalcularPremioFuneral(Convert.ToDecimal(cmbAba5Sub5Sub2Morte.SelectedValue), Convert.ToInt32(cmbAba5Sub5Sub2Funeral.SelectedValue), Convert.ToInt32(cmbAba5Sub5Sub1FaixaBase.SelectedValue));

                lblAba5Sub5Sub2PremioPlanoValor.Text = String.Format(new CultureInfo("pt-BR"), "{0:C}", registro.ValorPremioIdadeBase.GetValueOrDefault());
            }

            if (Convert.ToInt32(cmbAba5Sub5Sub1Produto.SelectedValue) == (int)ProdutoPrincipal.PLANOCASAL &&
                cmbAba5Sub5Sub2Morte.SelectedIndex > 0 && cmbAba5Sub5Sub2Funeral.SelectedIndex > 0)
            {
                TPlanoCasalDOMINIO registro = ControllerPlanoCasal.CalcularPremioFuneral(Convert.ToDecimal(cmbAba5Sub5Sub2Morte.SelectedValue), 0, Convert.ToInt32(cmbAba5Sub5Sub2Funeral.SelectedValue), Convert.ToInt32(cmbAba5Sub5Sub1FaixaBase.SelectedValue));

                lblAba5Sub5Sub2AssistOUConjValor.Text = String.Format(new CultureInfo("pt-BR"), "{0:C}", registro.CoberturaConjuge);
                lblAba5Sub5Sub2PremioPlanoValor.Text  = String.Format(new CultureInfo("pt-BR"), "{0:C}", registro.ValorPremioIdadeBase.GetValueOrDefault());
            }
        }
        private void PreencherDominoAbaSimuladorSubRenda()
        {
            DataTable tableTRenda = ControllerSimuladorSubRenda.SelecioneSimuladorSubRenda(DadosTSimuladorProduto.IDSimuladorProduto);

            if (tableTRenda.Rows.Count > 0)
            {
                DadosTPlanoProtecao.RendaPeriodo = tableTRenda.Rows[0]["Periodo"].ToString();
                DadosTPlanoProtecao.RendaCoberturaRendaMensal  = Convert.ToDecimal(tableTRenda.Rows[0]["ValorRenda"]);
                DadosTPlanoProtecao.RendaCoberturaCapitalTotal = Convert.ToDecimal(tableTRenda.Rows[0]["Capital"]);
                DadosTPlanoProtecao.RendaValorPremioIdadeBase  = Convert.ToDecimal(tableTRenda.Rows[0]["PremioRenda"]);
                PremioRenda = DadosTPlanoProtecao.RendaValorPremioIdadeBase.GetValueOrDefault();
            }
            else
            {
                if (DadosTPlanoProtecao.IDPlanoProtecao > 0 || DadosTSimuladorProduto.Produto.Equals(ProdutoPrincipal.PLANOPROTECAO.GetStringValue()))
                {
                    decimal valorPlanoAP = PremioTotalMax - PremioPlano - PremioAgregado;
                    TPlanoProtecaoDOMINIO rendaCalculada = new TPlanoProtecaoDOMINIO();
                    rendaCalculada = ControllerPlanoProtecao.SelecionarPlanoProtecaoRendaInicial(FaixaBase, valorPlanoAP);
                    if (rendaCalculada.IDPlanoProtecaoRenda > 0)
                    {
                        DadosTPlanoProtecao.RendaPeriodo = rendaCalculada.RendaPeriodo;
                        DadosTPlanoProtecao.RendaCoberturaRendaMensal  = rendaCalculada.RendaCoberturaRendaMensal;
                        DadosTPlanoProtecao.RendaCoberturaCapitalTotal = rendaCalculada.RendaCoberturaCapitalTotal;
                        DadosTPlanoProtecao.RendaValorPremioIdadeBase  = rendaCalculada.RendaValorPremioIdadeBase;
                        PremioRenda = rendaCalculada.RendaValorPremioIdadeBase.GetValueOrDefault();
                    }
                }
            }
        }
示例#3
0
        private void PreencherSimuladorAbaTabelasSubRenda()
        {
            if (cmbAba5Sub5Sub4Periodo.SelectedIndex > 0 && cmbAba5Sub5Sub4Valor.SelectedIndex > 0)
            {
                TPlanoProtecaoDOMINIO registro = ControllerPlanoProtecao.CalcularPremioRenda(cmbAba5Sub5Sub4Periodo.Text, Convert.ToDecimal(cmbAba5Sub5Sub4Valor.SelectedValue), Convert.ToInt32(cmbAba5Sub5Sub1FaixaBase.SelectedValue));

                lblAba5Sub5Sub4CapitalValor.Text = String.Format(new CultureInfo("pt-BR"), "{0:C}", registro.RendaCoberturaCapitalTotal);

                lblAba5Sub5Sub4PremioRendaValor.Text = String.Format(new CultureInfo("pt-BR"), "{0:C}", registro.RendaValorPremioIdadeBase.GetValueOrDefault());;
            }
        }
示例#4
0
        private void PopularSimuladorAlterarProduto()
        {
            try
            {
                if (cmbAba5Sub4Produto.SelectedIndex > 0)
                {
                    List <ProdutoPrincipal> produtos = new List <ProdutoPrincipal>();
                    int idadeBase = 0;
                    DadosTSimuladorProduto = new TSimuladorProdutoDOMINIO();
                    DadosTPlanoProtecao    = new TPlanoProtecaoDOMINIO();
                    DadosTPlanoSenior      = new TPlanoSeniorDOMINIO();
                    DadosTPlanoCasal       = new TPlanoCasalDOMINIO();
                    ControllerPlano.PlanoProtecaoDOMINIO = new TPlanoProtecaoDOMINIO();
                    ControllerPlano.PlanoSeniorDOMINIO   = new TPlanoSeniorDOMINIO();
                    ControllerPlano.PlanoCasalDOMINIO    = new TPlanoCasalDOMINIO();
                    bool alterar = true;

                    ProdutoCalculo = Convert.ToInt32(cmbAba5Sub4Produto.SelectedValue);

                    if (ControllerPlano.SimularPlanoAlterarProduto(DadosTEntrevistado.DataNascimento.Value, DadosTEntrevistado.DataNascimentoConjuge, Resposta2, Resposta7, ProdutoCalculo, ref produtos, ref idadeBase))
                    {
                        FaixaBase           = idadeBase;
                        DadosTPlanoProtecao = ControllerPlano.PlanoProtecaoDOMINIO;
                        DadosTPlanoSenior   = ControllerPlano.PlanoSeniorDOMINIO;
                        DadosTPlanoCasal    = ControllerPlano.PlanoCasalDOMINIO;
                        ProdutoDisponivel   = produtos;
                    }

                    DadosTSimuladorProduto.Produto = "Produto";

                    //Preenche campos do simulador
                    PreencherCamposSimuladorAbaPlanos();

                    //Verificações para Aba Agregados
                    PreencherDominoAbaSimuladorSubAgregados(alterar);

                    PreencherCamposSimuladorAbaRenda();

                    tabControlSimulador.SelectedIndex = 0;
                }
            }
            catch (Exception ex)
            {
                Util.CaixaMensagem.ExibirOk(ex.Message);

                Util.LogErro.GravaLog("Erro ao Simular Plano.", ex.Message);
            }
        }
示例#5
0
        public bool SimularPlano(DateTime dataTitular, DateTime?dataConjuge, int respPergunta2, int respPergunta7, ref List <ProdutoPrincipal> ProdutoDisponivel, ref int idadeBase)
        {
            try
            {
                PlanoProtecaoDOMINIO = new TPlanoProtecaoDOMINIO();
                PlanoCasalDOMINIO    = new TPlanoCasalDOMINIO();
                PlanoSeniorDOMINIO   = new TPlanoSeniorDOMINIO();
                idadeBase            = 0;

                int faixaTitular = TCombosEnumPERSISTENCIA.FaixaEtariaDataNascimento(dataTitular);

                int faixaConjuge = 0;
                if (dataConjuge.HasValue)
                {
                    faixaConjuge = TCombosEnumPERSISTENCIA.FaixaEtariaDataNascimento(dataConjuge.Value);

                    if ((dataTitular - dataConjuge.Value).TotalDays <= 0)
                    {
                        idadeBase = faixaTitular;
                    }
                    else
                    {
                        idadeBase = faixaConjuge;
                    }
                }
                else
                {
                    idadeBase = faixaTitular;
                }

                //Adiciona a lista de opções de acordo com a Faixa Etária
                #region [ Opções de Produtos ]

                if ((faixaTitular < 7) || (faixaTitular == 8))
                {
                    ProdutoDisponivel.Add(ProdutoPrincipal.PLANOPROTECAO);
                }

                if ((faixaTitular >= 6) && (faixaTitular != 8))
                {
                    ProdutoDisponivel.Add(ProdutoPrincipal.PLANOSENIOR);

                    ProdutoDisponivel.Add(ProdutoPrincipal.PLANOCASAL);
                }

                #endregion

                //Verificar o Produto a ser oferecido pela faixa etária do titular e do cônjuge
                #region [ Produto Plano Proteção Familia ]

                if ((idadeBase <= 6) || (idadeBase == 8))
                {
                    PlanoProtecao(faixaTitular, idadeBase, respPergunta2, respPergunta7);
                    return(true);
                }

                if (((faixaTitular <= 5) || (faixaTitular == 8)) && (faixaConjuge >= 7 && faixaConjuge <= 10 && faixaConjuge != 8))
                {
                    PlanoProtecao(faixaTitular, faixaTitular, respPergunta2, respPergunta7);
                    return(true);
                }

                #endregion

                #region [ Produto Sênior Individual ]

                if ((faixaTitular >= 6) && (faixaTitular != 8))
                {
                    if (faixaConjuge == 0)
                    {
                        PlanoSenior(idadeBase, respPergunta2, respPergunta7);
                        return(true);
                    }

                    if ((faixaTitular >= 7) && (((1 <= faixaConjuge) && (faixaConjuge <= 5)) || (faixaConjuge == 8)))
                    {
                        PlanoSenior(idadeBase, respPergunta2, respPergunta7);
                        return(true);
                    }
                }

                #endregion

                #region [ Produto Sênior Casal ]

                if (((faixaTitular >= 6) && (faixaTitular != 8)) && ((faixaConjuge >= 6) && (faixaConjuge != 8)))
                {
                    PlanoSeniorCasal(idadeBase, respPergunta2, respPergunta7);
                    return(true);
                }

                #endregion

                return(false);
            }
            catch (Exception)
            {
                throw new Exception("Erro ao Simular Plano.");
            }
        }
示例#6
0
        private void PopularSimulador()
        {
            try
            {
                if (ControllerEnum.FaixaEtariaDataNascimento(DadosTEntrevistado.DataNascimento.GetValueOrDefault()) != (int)FaixaEtaria.PREMIO_81)
                {
                    List <ProdutoPrincipal> produtos = new List <ProdutoPrincipal>();
                    int  idadeBase       = 0;
                    bool alterarAgregado = true;
                    TipoRegistro           = 'A';
                    DadosTSimuladorProduto = new TSimuladorProdutoDOMINIO();
                    DadosTPlanoProtecao    = new TPlanoProtecaoDOMINIO();
                    DadosTPlanoSenior      = new TPlanoSeniorDOMINIO();
                    DadosTPlanoCasal       = new TPlanoCasalDOMINIO();
                    ControllerPlano.PlanoProtecaoDOMINIO = new TPlanoProtecaoDOMINIO();
                    ControllerPlano.PlanoSeniorDOMINIO   = new TPlanoSeniorDOMINIO();
                    ControllerPlano.PlanoCasalDOMINIO    = new TPlanoCasalDOMINIO();

                    //Verifica se já foi feita simulação
                    DataTable tableProduto = ControllerSimuladorProduto.SelecioneSimuladorProduto(DadosTEntrevista.CodigoEntrevista);

                    if (tableProduto.Rows.Count > 0)
                    {
                        DadosTSimuladorProduto.IDSimuladorProduto   = Convert.ToInt32(tableProduto.Rows[0]["IDSimuladorProduto"]);
                        DadosTSimuladorProduto.IDEntrevista         = Convert.ToInt64(tableProduto.Rows[0]["IDEntrevista"]);
                        DadosTSimuladorProduto.Produto              = tableProduto.Rows[0]["Produto"].ToString();
                        DadosTSimuladorProduto.PremioTotal          = Convert.ToDecimal(tableProduto.Rows[0]["PremioTotal"]);
                        DadosTSimuladorProduto.FaixaEtaria          = Convert.ToInt32(tableProduto.Rows[0]["FaixaEtaria"]);
                        DadosTSimuladorProduto.FaixaEtariaConjuge   = Convert.ToInt32(tableProduto.Rows[0]["FaixaEtariaConjuge"]);
                        DadosTSimuladorProduto.RespostaBaseRenda    = Convert.ToInt32(tableProduto.Rows[0]["RespostaBaseRenda"]);
                        DadosTSimuladorProduto.RespostaBaseDisposto = Convert.ToInt32(tableProduto.Rows[0]["RespostaBaseDisposto"]);

                        //Verificações para Aba Planos
                        if ((DadosTSimuladorProduto.FaixaEtaria == DadosTEntrevistado.FaixaEtaria) &&
                            (DadosTSimuladorProduto.FaixaEtariaConjuge == DadosTEntrevistado.FaixaEtariaConjuge) &&
                            (DadosTSimuladorProduto.RespostaBaseRenda == Resposta2) &&
                            (DadosTSimuladorProduto.RespostaBaseDisposto == Resposta7))
                        {
                            int CalculaBase = 0;
                            ControllerPlano.FaixaBase(DadosTEntrevistado.FaixaEtaria, DadosTEntrevistado.FaixaEtariaConjuge, ref CalculaBase);
                            FaixaBase         = CalculaBase;
                            ProdutoDisponivel = new List <ProdutoPrincipal>();
                            if ((FaixaBase <= 6) || (FaixaBase == 8))
                            {
                                ProdutoDisponivel.Add(ProdutoPrincipal.PLANOPROTECAO);
                            }

                            if ((FaixaBase >= 6) && (FaixaBase != 8))
                            {
                                ProdutoDisponivel.Add(ProdutoPrincipal.PLANOSENIOR);

                                ProdutoDisponivel.Add(ProdutoPrincipal.PLANOCASAL);
                            }

                            PreencherDominoAbaSimuladorSubPlanos();

                            alterarAgregado = false;
                            GravarSimulador = false;
                        }
                        else
                        {
                            if (ControllerPlano.SimularPlano(DadosTEntrevistado.DataNascimento.Value, DadosTEntrevistado.DataNascimentoConjuge, Resposta2, Resposta7, ref produtos, ref idadeBase))
                            {
                                FaixaBase           = idadeBase;
                                DadosTPlanoProtecao = ControllerPlano.PlanoProtecaoDOMINIO;
                                DadosTPlanoSenior   = ControllerPlano.PlanoSeniorDOMINIO;
                                DadosTPlanoCasal    = ControllerPlano.PlanoCasalDOMINIO;
                                PremioTotalMax      = ControllerPlano.TotalMax;
                                ProdutoDisponivel   = produtos;
                                GravarSimulador     = true;
                                TipoRegistro        = 'S';
                            }
                        }
                    }
                    else
                    {
                        if (ControllerPlano.SimularPlano(DadosTEntrevistado.DataNascimento.Value, DadosTEntrevistado.DataNascimentoConjuge, Resposta2, Resposta7, ref produtos, ref idadeBase))
                        {
                            FaixaBase           = idadeBase;
                            DadosTPlanoProtecao = ControllerPlano.PlanoProtecaoDOMINIO;
                            DadosTPlanoSenior   = ControllerPlano.PlanoSeniorDOMINIO;
                            DadosTPlanoCasal    = ControllerPlano.PlanoCasalDOMINIO;
                            PremioTotalMax      = ControllerPlano.TotalMax;
                            ProdutoDisponivel   = produtos;
                            GravarSimulador     = true;
                            TipoRegistro        = 'S';
                        }

                        DadosTSimuladorProduto.Produto = "Produto";
                    }

                    //Preenche campos do simulador
                    PreencherCamposSimuladorAbaPlanos();

                    //Verificações para Aba Agregados
                    PreencherDominoAbaSimuladorSubAgregados(alterarAgregado);

                    if (DadosTPlanoProtecao.IDPlanoProtecao > 0 || DadosTSimuladorProduto.Produto.Equals(ProdutoPrincipal.PLANOPROTECAO.GetStringValue()))
                    {
                        //Verificações para Aba Renda
                        PreencherDominoAbaSimuladorSubRenda();
                        PreencherCamposSimuladorAbaRenda();
                    }

                    PreencherCamposTotais();

                    if (GravarSimulador)
                    {
                        SalvarAbaSimulador();
                    }
                }
            }
            catch (Exception ex)
            {
                Util.CaixaMensagem.ExibirOk(ex.Message);

                Util.LogErro.GravaLog("Erro ao Simular Plano.", ex.Message);
            }
        }