Пример #1
0
        /// <summary>
        /// Método auxiliar de criação de uma pessoa.
        /// </summary>
        /// <returns><c>true</c>, Pessoa criada, <c>false</c> se não.</returns>
        /// <param name="pessoa">Pessoa.</param>
        static bool CriarPessoa(out Pessoa pessoa)
        {
            try
            {
                pessoa = new Pessoa();

                int  idade;
                int  numeroCC;
                bool evalNumeroCC, aux;

                Console.Write("Insira o nome da pessoa\n\t>>> ");
                pessoa.Nome = Console.ReadLine().ToUpper();

                do
                {
                    Console.Write("Insira a idade da Pessoa\n(Ex: 57)\t>>> ");
                    aux = int.TryParse(Console.ReadLine(), out idade);
                    if (!aux || idade < 0)
                    {
                        Console.WriteLine("Insira uma idade valida (Ex: 57)");
                        aux = false;
                    }
                } while (!aux);

                pessoa.Idade = idade;

                do
                {
                    Console.Write("Insira o número de CC da Pessoa\n\tFormato: 12345678\n\t>>>");
                    evalNumeroCC = int.TryParse(Console.ReadLine(), out numeroCC);

                    try
                    {
                        evalNumeroCC    = Valida.NumeroCC(numeroCC);
                        pessoa.NumeroCC = numeroCC;
                    }
                    catch (Exception ex)
                    {
                        Console.WriteLine(ex.Message, "Número de CC colocado incorretamente, insira novamente");
                        evalNumeroCC = false;
                    }
                } while (!evalNumeroCC);
                return(true);
            }
            catch (Exception)
            {
                throw;
            }
        }
Пример #2
0
        static void Main(string[] args)
        {
            #region MENU

            if (!CriarSalas() && GestorSalas.NumeroDeSalas() != 2)
            {
                Console.WriteLine("Ocorreu um erro ao criar as Salas");
                System.Environment.Exit(1);
            }

            int     numeroCC;
            bool    menu = false, colocar, valida = false;
            int     opcao;
            Pessoa  pessoa;
            Reserva reserva;


            do
            {
                Console.ForegroundColor = ConsoleColor.White;
                Console.Write("------------------------------------------------------------------------------------------------------------------\n\n");
                Console.ForegroundColor = ConsoleColor.Green;
                Console.Write("[+] ");
                Console.ResetColor();
                Console.Write("Camas Disponiveis \\ Total de Camas");
                Console.ForegroundColor = ConsoleColor.Yellow;
                Console.Write("\t\t[+] ");
                Console.ResetColor();
                Console.WriteLine("Numero de Reservas \\ Total de Camas Prioritarias");
                Console.ForegroundColor = ConsoleColor.Green;
                Console.Write("[1] ");
                Console.ResetColor();
                Console.Write("{0} - {1}\\{2}", EnumSalas.Sala1.ToString(), GestorSalas.CamasDisponiveis(EnumSalas.Sala1), GestorSalas.TotalCamas(EnumSalas.Sala1));
                Console.ForegroundColor = ConsoleColor.Yellow;
                Console.Write("\t\t\t\t[1] ");
                Console.ResetColor();
                Console.Write("{0} - {1}\\{2}\n", EnumSalas.Sala1.ToString(), GestorSalas.NumeroReservas(EnumSalas.Sala1), GestorSalas.MaxReservas(EnumSalas.Sala1));
                Console.ForegroundColor = ConsoleColor.Green;
                Console.Write("[2] ");
                Console.ResetColor();
                Console.Write("{0} - {1}\\{2}", EnumSalas.Sala2.ToString(), GestorSalas.CamasDisponiveis(EnumSalas.Sala2), GestorSalas.TotalCamas(EnumSalas.Sala2));
                Console.ForegroundColor = ConsoleColor.Yellow;
                Console.Write("\t\t\t\t[2] ");
                Console.ResetColor();
                Console.Write("{0} - {1}\\{2}\n", EnumSalas.Sala2.ToString(), GestorSalas.NumeroReservas(EnumSalas.Sala2), GestorSalas.MaxReservas(EnumSalas.Sala2));
                Console.ForegroundColor = ConsoleColor.Green;
                Console.ResetColor();
                Console.Write("\n[0]  Sair da Aplicação\n");
                Console.Write("[1]  Nova pessoa\n");
                Console.Write("[2]  Reservar Cama Prioritaria\n");
                Console.Write("[3]  Cancelar Reserva Prioritaria\n");
                Console.Write("[4]  Retirar pessoa\n");
                Console.Write("[5]  Consultar Reservas para Determinada Data\n");
                Console.Write("[6]  Consultar Reservas para Determinada NumeroCC\n");
                Console.Write("[7]  Consultar pessoas colocadas\n");
                Console.Write(">>> ");
                menu = int.TryParse(Console.ReadLine(), out opcao);
                switch (opcao)
                {
                case 1:
                    CriarPessoa(out pessoa);
                    Console.WriteLine("\nOs dados inseridos são os seguintes:\n");
                    MostrarPessoa(pessoa);
                    try
                    {
                        colocar = AssociarPessoa(pessoa, GetSala());
                    }
                    catch (Exception ex)
                    {
                        Console.WriteLine(ex.Message);
                        colocar = false;
                    }

                    if (colocar)
                    {
                        Console.WriteLine("\nA pessoa foi colocada com sucesso");
                    }
                    BL.PessoasBL.SavePessoa(pessoa);
                    Console.WriteLine("Prima qualquer tecla para voltar ao menu.");
                    Console.ReadKey();
                    Console.Clear();
                    break;

                case 2:
                    bool aux;
                    CriarPessoa(out pessoa);
                    reserva = CriarReserva(pessoa);

                    do
                    {
                        try
                        {
                            aux = RegistarReserva(reserva, GetSala());
                        }
                        catch (Exception ex)
                        {
                            Console.WriteLine(ex.Message);
                            aux = false;
                        }

                        if (aux)
                        {
                            Console.WriteLine("Cama reservada com sucesso\nPrima Qualquer Tecla para Voltar ao Menu >>> ");
                            Console.ReadKey();
                            Console.Clear();
                        }

                        if (!aux)
                        {
                            Console.Write("Não foi possivel reservar a cama\nPrima Qualquer Tecla para Voltar ao Menu >>> ");
                            Console.ReadKey();
                            Console.Clear();
                            aux = true;
                        }
                    } while (!aux);
                    BL.ReservasBL.SaveReserva(reserva);
                    break;

                case 3:

                    DateTime data;
                    do
                    {
                        Console.Write("Insira o número de CC da Reserva\n>>> ");
                        aux = int.TryParse(Console.ReadLine(), out numeroCC);
                        try
                        {
                            valida = Valida.NumeroCC(numeroCC);
                        }
                        catch (Exception ex)
                        {
                            Console.WriteLine(ex.Message);
                        }
                    } while (!valida);

                    if (valida)
                    {
                        bool cancela = false;
                        data = DatasReserva(true);
                        try
                        {
                            cancela = CancelarReserva(numeroCC, data, GetSala());
                        }
                        catch (Exception ex)
                        {
                            Console.WriteLine(ex.Message);
                            Console.Write("\nPrima Qualquer Tecla para Voltar ao Menu >>> ");
                            Console.ReadKey();
                        }

                        if (cancela)
                        {
                            Console.WriteLine("Reserva cancelada com sucesso");
                            Console.Write("\nPrima Qualquer Tecla para Voltar ao Menu >>> ");
                            Console.ReadKey();
                        }
                    }
                    break;

                case 4:
                    do
                    {
                        Console.Write("Insira o número de CC da Pessoa\n>>> ");
                        aux = int.TryParse(Console.ReadLine(), out numeroCC);
                        try
                        {
                            valida = Valida.NumeroCC(numeroCC);
                        }
                        catch (Exception ex)
                        {
                            Console.WriteLine(ex.Message);
                        }
                    } while (!valida);

                    if (valida)
                    {
                        bool saiu = false;
                        try
                        {
                            saiu = GestorSalas.RemoverPessoa(numeroCC, GetSala());
                        }
                        catch (Exception ex)
                        {
                            Console.WriteLine(ex.Message);
                            Console.Write("\nPrima Qualquer Tecla para Voltar ao Menu >>> ");
                            Console.ReadKey();
                        }
                        if (saiu)
                        {
                            Console.WriteLine("Pessoa retirada com sucesso\n");
                            Console.Write("\nPrima Qualquer Tecla para Voltar ao Menu >>> ");
                            Console.ReadKey();
                        }
                    }
                    break;

                case 5:

                    MostrarReservas(GestorSalas.CamasOcupadasNaData(DatasReserva(false), GetSala()));
                    MostrarReservas(BL.ReservasBL.GetReservas());
                    break;

                case 6:
                    do
                    {
                        Console.Write("Insira o número do CC da pessoa\n>>> ");
                        aux = int.TryParse(Console.ReadLine(), out numeroCC);
                        try
                        {
                            valida = Valida.NumeroCC(numeroCC);
                        }
                        catch (Exception ex)
                        {
                            Console.WriteLine(ex.Message);
                        }
                    } while (!valida);
                    MostrarReservas(GestorSalas.NumerosDeCCReservas(numeroCC, GetSala()));
                    MostrarReservas(BL.ReservasBL.GetReservas());
                    break;

                case 7:

                    Console.Write("\n");
                    MostrarColocadas(GestorSalas.PessoasColocadas(GetSala()));
                    MostrarColocadas(BL.PessoasBL.GetPessoas());
                    Console.Write("\nPrima Qualquer Tecla para Voltar ao Menu >>> ");
                    Console.ReadKey();
                    Console.Clear();
                    break;

                default:
                    Console.Clear();
                    break;
                }
            } while (!menu || opcao != 0);


            Console.WriteLine("End of Demo\n Prima QlQr Tecla para sair");

            Console.ReadKey();
        }