public int ReservarQuarto(ClienteInfo cliente, Data diaEntrada, Data diaSaida, QuartoTipo tipo) { foreach (var q in _quartos) { if ((q.Tipo() == tipo) && (q.Disponibilidade == QuartoDisponibilidade.Disponivel)) { q.Disponibilidade = QuartoDisponibilidade.Reservado; q.Hospede = cliente; q.Entrada = diaEntrada; q.Saida = diaSaida; q.ConsumirGasto(QuartoGasto.Diaria); return(q.Identificacao); } } return(-1); }
static void ReservarQuarto() { Console.Write("Nome do cliente: "); string nomeCliente = Console.ReadLine(); Console.Write("Data de nascimento (dd mm aa): "); var dataNascimentoStr = Console.ReadLine().Split(' '); var dataNascimento = new Data() { Dia = int.Parse(dataNascimentoStr[0]), Mes = int.Parse(dataNascimentoStr[1]), Ano = int.Parse(dataNascimentoStr[2]) }; Console.Write("Data de entrada (dd mm aa): "); var dataEntradaStr = Console.ReadLine().Split(' '); var dataEntrada = new Data() { Dia = int.Parse(dataEntradaStr[0]), Mes = int.Parse(dataEntradaStr[1]), Ano = int.Parse(dataEntradaStr[2]) }; Console.Write("Data de saída (dd mm aa): "); var dataSaidaStr = Console.ReadLine().Split(' '); var dataSaida = new Data() { Dia = int.Parse(dataSaidaStr[0]), Mes = int.Parse(dataSaidaStr[1]), Ano = int.Parse(dataSaidaStr[2]) }; Console.Write("Tipo do quarto (Simples, Dupla, Tripla): "); var tipoQuarto = Enum.Parse <QuartoTipo>(Console.ReadLine()); if (!HotelSistema.Instance().PossuiQuartoDisponivel(tipoQuarto)) { Console.WriteLine("Não há quartos desse tipo disponível."); return; } var custoTotal = HotelSistema.Instance().EstimarValor(tipoQuarto, dataEntrada, dataSaida); Console.WriteLine("O valor estimado para sua estadia total é de: R$ {0}", custoTotal); Console.Write("Confirmar? (sim/nao): "); var pagarAgora = Console.ReadLine(); if (char.ToLower(pagarAgora[0]) == 'n') { Console.WriteLine("Reserva cancelada."); return; } else { Console.WriteLine("OK!"); } if (-1 == HotelSistema.Instance().ReservarQuarto(nomeCliente, dataNascimento, dataEntrada, dataSaida, tipoQuarto)) { Console.WriteLine("O cliente não está cadastrado. Precisamos de mais algumas informações"); Console.Write("Endereço: "); string endereco = Console.ReadLine(); Console.Write("Telefone: "); string telefone = Console.ReadLine(); Console.Write("Bairro: "); string bairro = Console.ReadLine(); Console.Write("Cidade: "); string cidade = Console.ReadLine(); Console.Write("Estado: "); string estado = Console.ReadLine(); Console.Write("RG: "); string rg = Console.ReadLine(); var cliente = new ClienteInfo() { Nome = nomeCliente, DataNascimento = dataNascimento, Endereco = endereco, Telefone = telefone, Bairro = bairro, Cidade = cidade, Estado = estado, Identidade = rg }; HotelSistema.Instance().RegistrarCliente(cliente); } int quartoId = HotelSistema.Instance().ReservarQuarto(nomeCliente, dataNascimento, dataEntrada, dataSaida, tipoQuarto); Console.WriteLine("Quarto {0} reservado com sucesso!", quartoId); }
public void RegistrarCliente(ClienteInfo cliente) { _clientes.Add(cliente); }