private IPassaporte DefinirPassaporte(IPassaporte passaporte, IEnumerable <PromocoesAtivas> promocoes)
        {
            foreach (var promocao in promocoes)
            {
                switch (promocao)
                {
                case PromocoesAtivas.UNIVERSITARIO:
                    return(new PassaporteUniversitario(passaporte));

                case PromocoesAtivas.IDOSO:
                    return(new PassaporteIdoso(passaporte));

                case PromocoesAtivas.PAGUEBEM:
                    return(new PassaportePagueBem(passaporte));

                case PromocoesAtivas.SEGUROGARANTIDO:
                    return(new PassaporteSeguroGarantido(passaporte));

                default:
                    throw new ArgumentOutOfRangeException(
                              nameof(promocao),
                              "Promoção Inválida!"
                              );
                }
            }
            return(passaporte);
        }
Exemplo n.º 2
0
        public IActionResult Orcar(Passaporte pass)
        {
            List <Descontos> checkeds = new List <Descontos>();

            PromocoesAtivas[] descontos = { PromocoesAtivas.SEMPROMOCAO, PromocoesAtivas.SEMPROMOCAO, PromocoesAtivas.SEMPROMOCAO, PromocoesAtivas.SEMPROMOCAO };

            foreach (CheckBoxListItem checkBox in pass.Promocoes)
            {
                if (checkBox.IsChecked)
                {
                    checkeds.Add(fachada.ConsultaDescontosPorID(checkBox.ID));
                }
            }

            foreach (Descontos d in checkeds)
            {
                if (d.ID == 1)
                {
                    descontos[0] = PromocoesAtivas.UNIVERSITARIO;
                }
                if (d.ID == 2)
                {
                    descontos[1] = PromocoesAtivas.PAGUEBEM;
                }
                if (d.ID == 3)
                {
                    descontos[2] = PromocoesAtivas.IDOSO;
                }
                if (d.ID == 4)
                {
                    descontos[3] = PromocoesAtivas.SEGUROGARANTIDO;
                }
            }


            IPassaporte ipassaporte = fachada.CriarPassaporte(0, pass.NomeCliente, pass.NroDias, 100, pass.DataInicial.Day, pass.DataInicial.Month, pass.DataInicial.Year, descontos);
            Passaporte  passaporte  = new Passaporte();

            passaporte.NomeCliente = ipassaporte.NomeCliente;
            passaporte.NroDias     = ipassaporte.NroDias;
            passaporte.DataInicial = ipassaporte.DataInicial;
            passaporte.ValorTotal  = ipassaporte.valorTotal();
            passa.Add(passaporte);
            return(View("Orcar", passa));
        }
Exemplo n.º 3
0
        public IPassaporte CriarPassaporte(int id, String umCliente,
                                           int umNroDias,
                                           decimal umValorBasico,
                                           int dia,
                                           int mes,
                                           int ano,
                                           PromocoesAtivas[] descontos)
        {
            passaporteOrcado = PassaporteFactory.CriarPassaporte(id, umCliente, umNroDias, umValorBasico, dia, mes, ano, descontos);

            passaporteConfirmado.NomeCliente = passaporteOrcado.NomeCliente;
            passaporteConfirmado.NroDias     = passaporteOrcado.NroDias;
            passaporteConfirmado.ValorTotal  = passaporteOrcado.valorTotal();
            passaporteConfirmado.DataInicial = passaporteOrcado.DataInicial;


            return(passaporteOrcado);
        }
Exemplo n.º 4
0
 public PassaporteSeguroGarantido(IPassaporte umPassaporte) : base(umPassaporte)
 {
 }
Exemplo n.º 5
0
 public PassaporteDecorator(IPassaporte umPassaporte)
 {
     passDecorado = umPassaporte;
 }
 public PassaportePagueBem(IPassaporte umPassaporte) : base(umPassaporte)
 {
 }
 public PassaporteIdoso(IPassaporte umPassaporte) : base(umPassaporte)
 {
 }
 protected PassaporteDecorator(IPassaporte umPassaporte)
 {
     PassaporteDecorado = umPassaporte;
 }
 public PassaporteUniversitario(IPassaporte umPassaporte) : base(umPassaporte)
 {
 }