public double Calcular_Gasto(Reservas reservas) { Clientes cli = reservas.cliente; IQuarto quarto = reservas.Get_Quarto(); float diaria = quarto.Diaria; int quant_tel = quarto.pegar_serviço_telefone_usado(); int quant_comida = quarto.pegar_serviço_comida_usado(); int dias_total = (reservas.dia_saida - reservas.dia_entrada).Days; float preco_total_comida = preco_comida * quant_comida; float preco_total_tel = preco_tel * quant_tel; float diaria_total = diaria * dias_total; float soma = (preco_total_comida + preco_total_tel + diaria_total); double total = soma + (soma * 0.5); Demonstrar_Gastos(diaria_total, preco_total_comida, preco_total_tel); return(total); }
public void Pedir_Serviço() { Listar_Reservas(); Console.WriteLine("\nEscreva o número do quarto que deseja o pedido: "); int room_number = int.Parse(Console.ReadLine()); Reservas reserva = Get_Reserva(room_number); IQuarto quarto = reserva.Get_Quarto(); if (reserva == null) { return; } Console.WriteLine("\nGostaria de pedir qual serviço?"); Console.WriteLine("1 - Comida, 2 - Telefone"); int choice = int.Parse(Console.ReadLine()); if (choice < 0 || choice > 2) { Console.WriteLine("Serviço inválido"); return; } switch (choice) { case 1: { quarto.pedir_comida(); break; } case 2: { quarto.usar_telefone(); break; } default: Console.WriteLine("\nOcorreu um problema na decisão do serviço\n"); break; } }
public void Fechar_Conta() { Listar_Reservas(); Console.WriteLine("\nEscreva o número do quarto que deseja fechar a reserva: "); int room_number = int.Parse(Console.ReadLine()); Reservas reserva = Get_Reserva(room_number); if (reserva == null) { return; } Console.WriteLine("\nObrigado por usar os nossos serviçoes, iremos dá o valor total da estádia: "); Servico_de_controle_gastos serv = new Servico_de_controle_gastos(); Proxy_Serviço_De_Controle proxy = new Proxy_Serviço_De_Controle(serv); Controle_financeiro cf = new Controle_financeiro(); double total = proxy.Calcular_Gasto(reserva); Console.WriteLine("\nO gasto total da reserva com 5% incluso do nosso serviço é de: R${0:0.00}", total); cf.Pagamento(total, total); Gerenciamento_de_Quartos.GetInstancia().Desocupar_Quarto(reserva.Get_Quarto()); lista_de_reservas.Remove(reserva); }