static void FecharConta() { 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]) }; var cliente = HotelSistema.Instance().PegarCliente(nomeCliente, dataNascimento); if (cliente == null) { Console.WriteLine("O cliente não está registrado no sistema!"); return; } QuartoProxy quartoHospedado = null; var quartos = HotelSistema.Instance().Quartos(); foreach (var q in quartos) { if (q.Hospede == null) { continue; } if (q.Hospede.Identidade == cliente.Identidade) { quartoHospedado = q; // marcar quarto como disponivel q.Disponibilidade = QuartoDisponibilidade.Disponivel; q.Hospede = null; q.Gastos.Clear(); break; } } if (quartoHospedado == null) { Console.WriteLine("O cliente não reservou nenhum quarto!"); return; } var gastosTotais = HotelSistema.Instance().GastosTotais(quartoHospedado); Console.Write("Confirmar depósito de R$ {0}", gastosTotais); Console.ReadKey(); HotelSistema.Instance().Financas().Depositar(gastosTotais); Console.WriteLine("Conta finalizada!"); }
public void RegistrarGasto(QuartoProxy quarto, QuartoGasto gasto) { if (!_gastosPorQuarto.ContainsKey(quarto.Identificacao)) { this._gastosPorQuarto[quarto.Identificacao] = new List <KeyValuePair <QuartoGasto, double> > (); } this._gastosPorQuarto[quarto.Identificacao].Add(new KeyValuePair <QuartoGasto, double>(gasto, CustoGasto(quarto.Tipo(), gasto))); }
public double GastosTotais(QuartoProxy quarto) { var ans = EstimarValor(quarto.Tipo(), quarto.Entrada, quarto.Saida); foreach (var g in quarto.Gastos) { ans += CustoGasto(quarto.Tipo(), g); } return(ans); }