Exemple #1
0
        public void ComprarPassagem(CompraDePassagemRequest compra)
        {
            _passageiroService.ValidaCPF(compra.Passageiro.CPF);

            if (compra.Passageiro.Nascimento > DateTime.Now.AddYears(-16))
            {
                _passageiroService.ValidaDocumentacoesMenorNaoAcompanhado(compra.Passageiro.DocumentacoesAdicionais);
            }

            if (compra.Passageiro.Nascimento > DateTime.Now.AddYears(-5))
            {
                _passageiroService.ValidaAcompanhantes(compra.Passageiro.Acompanhantes);
            }

            _passagemService.ReservarPassagem(compra.Passagem.DataSaida, compra.Passagem.DataRetorno);

            if (compra.Passagem.BagagemExtra)
            {
                _passagemService.ReservarBagagem();
            }

            Console.WriteLine("Passagem reservada com sucesso!");
        }
Exemple #2
0
        private static void ComprarPassagem()
        {
            var passageiro = new Passageiro();
            var passagem   = new Passagem();

            passageiro.Nome       = RecuperaStringNaoVazia("Digite o nome do passageiro:");
            passageiro.CPF        = RecuperaStringNaoVazia("Digite o CPF do passageiro:");
            passageiro.Nascimento = RecuperaDatas("Digite a data de nascimento do passageiro:");
            passageiro.DocumentacoesAdicionais = new List <DocumentacaoAdicional>();
            passageiro.Acompanhantes           = new List <Passageiro>();

            passagem.DataSaida    = RecuperaDatas("Digite a data de saída do voo:");
            passagem.DataRetorno  = RecuperaDatas("Digite a data de retorno do voo:");
            passagem.BagagemExtra = RecuperaStringNaoVazia("Necessita de bagagens? Digite \"SIM\", senão digite \"NÃO\"").Equals("SIM", StringComparison.InvariantCultureIgnoreCase);

            var request = new CompraDePassagemRequest()
            {
                Passageiro = passageiro, Passagem = passagem
            };

            var facade = new CompraDePassagemFacade();

            facade.ComprarPassagem(request);
        }