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 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); } }
public TPlanoCasalDOMINIO MontarDominioTPlanoCasal(DataRow dadosDominio) { TPlanoCasalDOMINIO dadosConsulta = new TPlanoCasalDOMINIO(); dadosConsulta.IDPlanoCasal = Convert.ToInt32(dadosDominio["IDPlanoCasal"]); dadosConsulta.Codigo = Convert.ToInt32(dadosDominio["Codigo"]); dadosConsulta.NomePlano = dadosDominio["NomePlano"].ToString(); dadosConsulta.CoberturaMorte = Convert.ToDecimal(dadosDominio["CoberturaMorte"]); dadosConsulta.CoberturaConjuge = Convert.ToDecimal(dadosDominio["CoberturaConjuge"]); dadosConsulta.Premio_61_65 = dadosDominio.Field <Decimal?>("Premio_61_65"); dadosConsulta.Premio_66_70 = dadosDominio.Field <Decimal?>("Premio_66_70"); dadosConsulta.Premio_71_75 = dadosDominio.Field <Decimal?>("Premio_71_75"); dadosConsulta.Premio_76_80 = dadosDominio.Field <Decimal?>("Premio_76_80"); return(dadosConsulta); }
public TPlanoCasalDOMINIO SelecionarPlanoPremioAgregado(string nomePlano, int codigoFaixa) { StringBuilder queryTabelaPlanoCasal = new StringBuilder(); queryTabelaPlanoCasal.Append(@" SELECT IDPlanoCasalFuneral "); queryTabelaPlanoCasal.Append(@" , Codigo "); queryTabelaPlanoCasal.Append(@" , Categoria "); queryTabelaPlanoCasal.Append(@" , Ate_20 "); queryTabelaPlanoCasal.Append(@" , De_21_40 "); queryTabelaPlanoCasal.Append(@" , De_41_50 "); queryTabelaPlanoCasal.Append(@" , De_51_60 "); queryTabelaPlanoCasal.Append(@" , De_61_65 "); queryTabelaPlanoCasal.Append(@" , De_66_70 "); queryTabelaPlanoCasal.Append(@" , De_71_75 "); queryTabelaPlanoCasal.Append(@" , De_76_80 "); queryTabelaPlanoCasal.Append(@" FROM TPlanoCasalFuneral "); queryTabelaPlanoCasal.Append(@" WHERE Categoria = '" + nomePlano + "' "); queryTabelaPlanoCasal.Append(@" AND Codigo = " + codigoFaixa + " "); TPlanoCasalDOMINIO planoAgregado = new TPlanoCasalDOMINIO(); using (SqlCeConnection conn = new SqlCeConnection(ConnectionString)) { conn.Open(); SqlCeCommand command = new SqlCeCommand(queryTabelaPlanoCasal.ToString(), conn); SqlCeDataReader dados = command.ExecuteReader(); DataTable dadosTable = new DataTable(); dadosTable.Load(dados); if (dadosTable.Rows.Count > 0) { planoAgregado = MontarDominioTPlanoCasalFuneral(dadosTable.Rows[0]); } } if (planoAgregado == null) { return(new TPlanoCasalDOMINIO()); } else { return(planoAgregado); } }
public TPlanoCasalDOMINIO MontarDominioTPlanoCasalFuneral(DataRow dadosDominio) { TPlanoCasalDOMINIO dadosConsulta = new TPlanoCasalDOMINIO(); dadosConsulta.IDPlanoCasalFuneral = Convert.ToInt32(dadosDominio["IDPlanoCasalFuneral"]); dadosConsulta.FuneralCodigo = Convert.ToInt32(dadosDominio["Codigo"]); dadosConsulta.FuneralCategoria = dadosDominio["Categoria"].ToString(); dadosConsulta.FuneralAte_20 = dadosDominio.Field <Decimal?>("Ate_20"); dadosConsulta.FuneralDe_21_40 = dadosDominio.Field <Decimal?>("De_21_40"); dadosConsulta.FuneralDe_41_50 = dadosDominio.Field <Decimal?>("De_41_50"); dadosConsulta.FuneralDe_51_60 = dadosDominio.Field <Decimal?>("De_51_60"); dadosConsulta.FuneralDe_61_65 = dadosDominio.Field <Decimal?>("De_61_65"); dadosConsulta.FuneralDe_66_70 = dadosDominio.Field <Decimal?>("De_66_70"); dadosConsulta.FuneralDe_71_75 = dadosDominio.Field <Decimal?>("De_71_75"); dadosConsulta.FuneralDe_76_80 = dadosDominio.Field <Decimal?>("De_76_80"); return(dadosConsulta); }
public TPlanoCasalDOMINIO SelecionarPlanoCasalFuneral(decimal coberturaMorte, decimal coberturaConjuge, int codigoPlano) { StringBuilder queryTabelaPlanoCasal = new StringBuilder(); queryTabelaPlanoCasal.Append(@" SELECT IDPlanoCasal "); queryTabelaPlanoCasal.Append(@" , Codigo "); queryTabelaPlanoCasal.Append(@" , NomePlano "); queryTabelaPlanoCasal.Append(@" , CoberturaMorte "); queryTabelaPlanoCasal.Append(@" , CoberturaConjuge "); queryTabelaPlanoCasal.Append(@" , Premio_61_65 "); queryTabelaPlanoCasal.Append(@" , Premio_66_70 "); queryTabelaPlanoCasal.Append(@" , Premio_71_75 "); queryTabelaPlanoCasal.Append(@" , Premio_76_80 "); queryTabelaPlanoCasal.Append(@" FROM TPlanoCasal "); queryTabelaPlanoCasal.Append(@" WHERE Codigo = " + codigoPlano + " "); queryTabelaPlanoCasal.Append(@" AND CoberturaMorte = " + coberturaMorte.ToString().Replace(',', '.') + " "); //queryTabelaPlanoCasal.Append(@" AND CoberturaConjuge = " + coberturaConjuge + " "); TPlanoCasalDOMINIO planoFuneral = new TPlanoCasalDOMINIO(); using (SqlCeConnection conn = new SqlCeConnection(ConnectionString)) { conn.Open(); SqlCeCommand command = new SqlCeCommand(queryTabelaPlanoCasal.ToString(), conn); SqlCeDataReader dados = command.ExecuteReader(); DataTable dadosTable = new DataTable(); dadosTable.Load(dados); if (dadosTable.Rows.Count > 0) { planoFuneral = MontarDominioTPlanoCasal(dadosTable.Rows[0]); } } if (planoFuneral == null) { return(new TPlanoCasalDOMINIO()); } else { return(planoFuneral); } }
public TPlanoCasalDOMINIO CalcularPremioFuneral(decimal valorPrincipalNovo, decimal valorConjugeNovo, int valorCategoriaNovo, int idadeBase) { try { TPlanoCasalDOMINIO planoFuneral = SelecionarPlanoCasalFuneral(valorPrincipalNovo, valorConjugeNovo, valorCategoriaNovo); if (planoFuneral == null) { return(new TPlanoCasalDOMINIO()); } switch (idadeBase) { case (int)FaixaEtaria.PREMIO_61_65: planoFuneral.ValorPremioIdadeBase = planoFuneral.Premio_61_65; break; case (int)FaixaEtaria.PREMIO_66_70: planoFuneral.ValorPremioIdadeBase = planoFuneral.Premio_66_70; break; case (int)FaixaEtaria.PREMIO_71_75: planoFuneral.ValorPremioIdadeBase = planoFuneral.Premio_71_75; break; case (int)FaixaEtaria.PREMIO_76_80: planoFuneral.ValorPremioIdadeBase = planoFuneral.Premio_76_80; break; default: break; } return(planoFuneral); } catch (Exception) { throw new Exception("Erro ao Calcular Prêmio do Funeral."); } }
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."); } }
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); } }
public decimal CalcularPremioAgregado(int grauParentesco, int idade, string valorCategoria) { try { TPlanoCasalDOMINIO planoAgregado = new TPlanoCasalDOMINIO(); if (grauParentesco == (int)GrauParentesco.CONJUGE) { return(0); } //if (grauParentesco == (int)GrauParentesco.FILHO && idade <= 24) // return 0; if (idade <= 40) { planoAgregado = SelecionarPlanoPremioAgregado(valorCategoria, 1); if (idade <= 20) { return(planoAgregado.FuneralAte_20.GetValueOrDefault()); } else { return(planoAgregado.FuneralDe_21_40.GetValueOrDefault()); } } else { if (idade <= 60) { planoAgregado = SelecionarPlanoPremioAgregado(valorCategoria, 2); if (idade <= 50) { return(planoAgregado.FuneralDe_41_50.GetValueOrDefault()); } else { return(planoAgregado.FuneralDe_51_60.GetValueOrDefault()); } } else { if (idade <= 70) { planoAgregado = SelecionarPlanoPremioAgregado(valorCategoria, 3); if (idade <= 65) { return(planoAgregado.FuneralDe_61_65.GetValueOrDefault()); } else { return(planoAgregado.FuneralDe_66_70.GetValueOrDefault()); } } else { planoAgregado = SelecionarPlanoPremioAgregado(valorCategoria, 4); if (idade <= 75) { return(planoAgregado.FuneralDe_71_75.GetValueOrDefault()); } else { return(planoAgregado.FuneralDe_76_80.GetValueOrDefault()); } } } } } catch (Exception) { throw new Exception("Erro ao Calcular Prêmio do Agregado."); } }