Exemplo n.º 1
0
        public static IPassaporte CriarPassaporte(int id, String umCliente,
                                                  int umNroDias,
                                                  decimal umValorBasico,
                                                  int dia,
                                                  int mes,
                                                  int ano,
                                                  PromocoesAtivas[] descontos)
        {
            IPassaporte novo = new PassaporteBasico(id, umCliente, umNroDias, umValorBasico, dia, mes, ano);

            foreach (PromocoesAtivas promo in descontos)
            {
                switch (promo)
                {
                case PromocoesAtivas.PAGUEBEM: novo = new PassaportePagueBem(novo); break;

                case PromocoesAtivas.UNIVERSITARIO: novo = new PassaporteUniversitario(novo); break;

                case PromocoesAtivas.IDOSO: novo = new PassaporteIdoso(novo); break;

                case PromocoesAtivas.SEGUROGARANTIDO: novo = new PassaporteSeguroGarantido(novo); break;
                }
            }

            return(novo);
        }
        public IPassaporte CriarPassaporte(
            string umCliente,
            int umNroDias,
            decimal umValorBasico,
            int dia,
            int mes,
            int ano,
            IEnumerable <PromocoesAtivas> descontos
            )
        {
            IPassaporte passaporte = new PassaporteBasico(umCliente, umNroDias, umValorBasico, dia, mes, ano);

            // TODO handle exception
            return(DefinirPassaporte(passaporte, descontos));
        }