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}"); }
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); }
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); }