public bool SimularPlanoAlterarProduto(DateTime dataTitular, DateTime?dataConjuge, int respPergunta2, int respPergunta7, int produtoEscolhido, ref List <ProdutoPrincipal> ProdutoDisponivel, ref int idadeBase) { try { 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 switch (produtoEscolhido) { case (int)ProdutoPrincipal.PLANOPROTECAO: PlanoProtecao(faixaTitular, idadeBase, respPergunta2, respPergunta7); return(true); break; case (int)ProdutoPrincipal.PLANOSENIOR: PlanoSenior(idadeBase, respPergunta2, respPergunta7); return(true); break; case (int)ProdutoPrincipal.PLANOCASAL: PlanoSeniorCasal(idadeBase, respPergunta2, respPergunta7); return(true); break; default: break; } return(false); } catch { throw new Exception("Erro ao Simular Plano."); } }
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."); } }