public static void ConsumirServico(Hotel hotel) { Console.WriteLine("\nConsumir Serviço"); int op = 1; do { try { Console.WriteLine("\nSelecione o Hospede\n"); for (int i = 0; i < hotel.locacoes.Count; i++) { Console.WriteLine(i + " - " + hotel.locacoes[i].hospede.Nome); } Console.Write("\nEscolha um hospede: "); int indice = int.Parse(Console.ReadLine()); Locacao locacoes = hotel.locacoes[indice]; int locacao = -1; for (int i = 0; i < hotel.locacoes.Count; i++) { if (hotel.locacoes[i].hospede.Nome == locacoes.hospede.Nome) { locacao = i; break; } } if (locacao == -1) { Console.WriteLine("Cliente não possui quarto, favor locar um antes de consumir serviços\n"); return; } Console.WriteLine("Selecione os Servicos\n"); int sair; do { for (int i = 0; i < hotel.servicos.Count; i++) { Console.WriteLine(i + " - " + hotel.servicos[i].Nome + " - $" + hotel.servicos[i].Preco); } Console.Write("\nEscolha o Serviço: "); int indiceServico = int.Parse(Console.ReadLine()); Servico servico = hotel.servicos[indiceServico]; servico.Vezes = servico.Vezes + 1; hotel.locacoes[locacao].servicosConsumidos.Add(servico); Console.Write("\nDeseja adicionar mais um servico"); Console.Write("\n0 - Não, 1 - Sim\n"); Console.Write("Digite: "); sair = int.Parse(Console.ReadLine()); } while (sair != 0); Console.WriteLine("\nHospede: " + hotel.locacoes[locacao].hospede.Nome); foreach (var item in hotel.locacoes[locacao].servicosConsumidos) { Console.WriteLine("Servico: " + item.Nome + " - $" + item.Preco); } op = 0; } catch (Exception e) { Console.WriteLine(e); } } while (op != 0); }
public static Locacao LocarQuarto(Hotel hotel) { Locacao locacao = new Locacao(); Console.WriteLine("\nLocar Quarto"); MenuOperacoes op = MenuOperacoes.None; do { try { Console.WriteLine("\nSelecione o Hospede através do ID"); for (int i = 0; i < hotel.hospedes.Count; i++) { Console.WriteLine(i + " - " + hotel.hospedes[i].Nome); } Console.Write("\nHospede numero: "); int indice = int.Parse(Console.ReadLine()); locacao.hospede = hotel.hospedes[indice]; Console.WriteLine("\nSelecione o Quarto através do ID\n"); List <Quarto> quartosDisponiveis = hotel.quartosDisponiveis(); for (int i = 0; i < quartosDisponiveis.Count; i++) { Console.WriteLine(i + " - " + quartosDisponiveis[i].Numero + " - " + quartosDisponiveis[i].tipoQuarto + " - $" + quartosDisponiveis[i].Preco); } if (quartosDisponiveis.Count == 0) { Console.WriteLine("NENHUMA QUARTO DISPONIVEL"); } else { Console.Write("\nQuarto numero: "); indice = int.Parse(Console.ReadLine()); locacao.quarto = quartosDisponiveis[indice]; Console.WriteLine("\nAVISO - Quarto {0} locado em nome de {1}", locacao.quarto.Numero, locacao.hospede.Nome); locacao.quarto.Vezes = locacao.quarto.Vezes + 1; op = MenuOperacoes.Sair; try { MailMessage mail = new MailMessage(); SmtpClient SmtpServer = new SmtpClient("smtp.gmail.com"); mail.From = new MailAddress("*****@*****.**"); mail.To.Add(locacao.hospede.Email); mail.Subject = "Abertura de conta do Hotel ViaFlow"; mail.Body = "\nObrigado " + locacao.hospede.Nome + " por utilizar os serviços do nosso Hotel.\nSeu quarto numero " + locacao.quarto.Numero + " já está disponivel para uso." + "\nEsperamos que aproveite a estadia conosco\n\nAtt," + "\nGerencia do Hotel ViaFlow"; SmtpServer.Port = 587; SmtpServer.Credentials = new System.Net.NetworkCredential("*****@*****.**", "viaflow2019"); SmtpServer.EnableSsl = true; SmtpServer.Send(mail); } catch (Exception ex) { Console.WriteLine("Quarto locado com sucesso porém o email de confirmação falhou. Envie manualmente para o cliente " + locacao.hospede.Nome + "."); } } } catch (Exception e) { Console.WriteLine("Opção inválida"); } } while (op != MenuOperacoes.Sair); return(locacao); }
static void Main(string[] args) { Hotel hotelviaflow = new Hotel(); hotelviaflow.start(); }