Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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);
            }
        }
Ejemplo n.º 3
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);
        }
Ejemplo n.º 4
0
        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);
        }