Esempio n. 1
0
 public static void PrintTelaReserva(CadastrarNova reserva)
 {
     Console.WriteLine($"CPF do Cliente: {reserva.CPF}");
     Console.WriteLine($"Quarto: {reserva.QuartoId}");
     Console.WriteLine($"CheckIn: {reserva.CheckIn}");
     Console.WriteLine($"CheckOut: {reserva.CheckOut}");
     Console.WriteLine($"Numero de Hospedes: {reserva.Hospedes.Count}");
 }
Esempio n. 2
0
        public static void CadastrarNovaReserva(CadastrarNova reserva)
        {
            reserva.Validar();
            var tipoQuarto  = Dados.Data.ListaQuartos.Find(quarto => quarto.QuartoId == reserva.QuartoId).TipoId;
            var novaReserva = new Reserva()
            {
                CPF          = reserva.CPF,
                CheckIn      = reserva.CheckIn.Add(new TimeSpan(18, 0, 0)),
                CheckOut     = reserva.CheckOut.Add(new TimeSpan(12, 0, 0)),
                DataCriacao  = DateTime.Now,
                QuartoId     = reserva.QuartoId,
                ReservaId    = Nanoid.Nanoid.Generate(),
                ValorDiarias = ValorDiarias(tipoQuarto, reserva.CheckIn, reserva.CheckOut),
                TaxasConsumo = 0,
                ValorFinal   = 0
            };

            novaReserva.HospedesJSON = JsonSerializer.Serialize(reserva.Hospedes);
            novaReserva.AtualizarValorFinal();
            Dados.Data.ListaReservas.Add(novaReserva);
        }
Esempio n. 3
0
        public static bool PrintTelaNovaReserva(string message = "")
        {
            try
            {
                if (message != "")
                {
                    Console.WriteLine(message);
                }

                var cliente = new ConsultaCPF();

                Console.Clear();
                Console.WriteLine("----------- HOTEL BONSOIR - MANAGEMENT -----------");
                Console.WriteLine();
                Console.WriteLine("Realizar Nova Reserva - Selecionar Cliente:");
                Console.WriteLine("Insira um CPF Válido:");
                string cpf      = "";
                var    cpfCheck = false;
                while (!cpfCheck)
                {
                    cpf      = Console.ReadLine();
                    cpfCheck = ServicoReserva.VerificarCpf(cpf);
                    if (cpfCheck == false)
                    {
                        Console.WriteLine();
                        Console.WriteLine("CPF Inválido:");
                        Console.WriteLine();
                        Console.WriteLine("Deseja Cancelar Operação? (S/N)");
                        if (char.Parse(Console.ReadLine()) == 's')
                        {
                            return(false);
                        }
                    }
                    cliente = ServicoCliente.ObterPorCPF(cpf);
                    if (cliente.CPF != null)
                    {
                        Console.Clear();
                        Console.WriteLine("----------- HOTEL BONSOIR - MANAGEMENT -----------");
                        Console.WriteLine();
                        Console.WriteLine("Cliente Ja Cadastrado:");
                        PrintTelaUnicoCliente(cliente.CPF);
                        Console.WriteLine();
                        Console.WriteLine("Pressione Enter Para Continuar");
                        Console.ReadLine();
                    }
                    else
                    {
                        bool cadastroStatus = false;
                        while (!cadastroStatus)
                        {
                            Console.WriteLine("Redirecionando Para Novo Cadastro");
                            System.Threading.Thread.Sleep(2000);
                            cadastroStatus = PrintTelaCadastroCliente(cpf);
                        }
                    }
                    Console.Clear();
                    Console.WriteLine("----------- HOTEL BONSOIR - MANAGEMENT -----------");
                    Console.WriteLine();
                    Console.WriteLine("Realizar Nova Reserva - Selecionar Quarto:");
                    var novaReserva = new CadastrarNova();
                    novaReserva.CPF = cpf;
                    Console.WriteLine("Selecione Um quarto Tipo de Quarto: (1 - Casal/2 - Simples/3 - Duplo)");
                    PrintTelaQuartos("Livre", int.Parse(Console.ReadLine()));
                    Console.WriteLine("----------------------------------");
                    Console.WriteLine();
                    Console.WriteLine("Digite o Número do Quarto Desejado: ");
                    novaReserva.QuartoId = int.Parse(Console.ReadLine());
                    Console.Clear();
                    Console.WriteLine("----------- HOTEL BONSOIR - MANAGEMENT -----------");
                    Console.WriteLine();
                    Console.WriteLine("Data de CheckIn (dd/MM/yyyy): ");
                    novaReserva.CheckIn = DateTime.Parse(Console.ReadLine());
                    Console.WriteLine("Data de CheckOut (dd/MM/yyyy): ");
                    novaReserva.CheckOut = DateTime.Parse(Console.ReadLine());
                    Console.WriteLine("Digite o Numero de Hospedes: ");
                    int            numHospedes = int.Parse(Console.ReadLine());
                    List <Hospede> listaAux    = new List <Hospede>();
                    for (int i = 0; i < numHospedes; i++)
                    {
                        var hospede = new Hospede();
                        Console.WriteLine($"Digite o Numero do CPF do Hospede {i}: ");
                        hospede.CPF = Console.ReadLine();
                        listaAux.Add(hospede);
                    }
                    novaReserva.Hospedes = listaAux;
                    Console.WriteLine();
                    Console.WriteLine("Pressione Enter Para Continuar");
                    ServicoReserva.CadastrarNovaReserva(novaReserva);
                    Console.Clear();
                    Console.WriteLine("----------- HOTEL BONSOIR - MANAGEMENT -----------");
                    Console.WriteLine();
                    PrintTelaReserva(novaReserva);
                    Console.WriteLine("Pressione Enter Para Continuar");
                    Console.ReadLine();
                    return(true);
                }
            }
            catch (ReservaExceptions e)
            {
                Console.WriteLine();
                Console.WriteLine("Deseja Cancelar Operação? (S/N)");
                if (char.Parse(Console.ReadLine()) == 's')
                {
                    return(false);
                }
                else
                {
                    PrintTelaNovaReserva(e.Message);
                }
            }
            return(true);
        }