public static Locacao SelecH(Hotel hotel) { Console.WriteLine("Selecione o Hospede"); for (int i = 0; i < hotel.locacoes.Count; i++) { Console.WriteLine(i + " - " + hotel.locacoes[i].quarto.Numero + " - " + hotel.locacoes[i].hospede.Nome); } Console.Write("\nEscolha o hospede: "); int indice = int.Parse(Console.ReadLine()); Locacao locacao = hotel.locacoes[indice]; locacao.servicosConsumidos.ForEach(servico => { Console.WriteLine(servico.Nome + " - " + servico.Preco); }); Console.WriteLine("Valor do Quarto: " + hotel.locacoes[indice].quarto.Preco); Console.WriteLine("Comanda: " + locacao.ValorTotal()); return(locacao); }
public static Locacao FechaC(Hotel hotel) { Console.WriteLine("Selecione o Hospede"); for (int i = 0; i < hotel.locacoes.Count; i++) { Console.WriteLine(i + " - " + hotel.locacoes[i].quarto.Numero + " - " + hotel.locacoes[i].hospede.Nome); } Console.Write("\nEscolha o hospede: "); int indice = int.Parse(Console.ReadLine()); Console.WriteLine("\nFechamento de conta do quarto {0} em nome de {1}\n", hotel.locacoes[indice].quarto.Numero, hotel.locacoes[indice].hospede.Nome); Locacao locacao = hotel.locacoes[indice]; locacao.servicosConsumidos.ForEach(servico => { Console.WriteLine(servico.Nome + " - $" + servico.Preco); }); Console.WriteLine("Valor do Quarto: $" + hotel.locacoes[indice].quarto.Preco); double comanda = locacao.ValorTotal(); Console.WriteLine("Comanda: $" + locacao.ValorTotal()); Console.WriteLine("Desejar encerrar a conta?\n0 - Não, 1 - Sim\n"); int asw = int.Parse(Console.ReadLine()); if (asw == 1) { hotel.locacoes.RemoveAt(indice); Console.WriteLine("\nCONTA ENCERRADA\n"); try { MailMessage mail = new MailMessage(); SmtpClient SmtpServer = new SmtpClient("smtp.gmail.com"); mail.From = new MailAddress("*****@*****.**"); mail.To.Add(locacao.hospede.Email); mail.Subject = "Fechamento de conta do Hotel ViaFlow"; mail.Body = "\nObrigado " + locacao.hospede.Nome + " por utilizar os serviços do nosso Hotel.\nSua conta fechou em $" + locacao.ValorTotal() + ".\nVolte sempre!\n\nAtt," + "\nGerencia do Hotel ViaFlow"; SmtpServer.Port = 587; SmtpServer.Credentials = new System.Net.NetworkCredential("*****@*****.**", "viaflow2019"); SmtpServer.EnableSsl = true; SmtpServer.Send(mail); //MessageBox.Show("mail Send"); return(locacao); } catch (Exception) { Console.WriteLine("\nProblemas de conexão no momento do envio do email.\n" + "Favor enviar manualmente um regisro do fechamento de conta para o hospede " + locacao.hospede.Nome + "."); return(locacao); } } else { Console.WriteLine("\nRetornando ao menu"); return(locacao); } }
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); }
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); }