コード例 #1
0
        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.");
            }
        }
コード例 #2
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.");
            }
        }