Esempio n. 1
0
 /// <summary>
 /// Método auxiliar de criação das salas.
 /// </summary>
 /// <returns><c>true</c>, salas criadas, <c>false</c> se não.</returns>
 static bool CriarSalas()
 {
     try
     {
         return(GestorSalas.InserirSala(EnumSalas.Sala1) && GestorSalas.InserirSala(EnumSalas.Sala2));
     }
     catch (Exception)
     {
         throw new Exception();
     }
 }
Esempio n. 2
0
        /// <summary>
        /// Método de cancelamento de reservas. Retorna TRUE caso o cancelamento tenha sido bem sucedido.
        /// FALSE caso não o seja, e atira uma excpção.
        /// </summary>
        /// <returns><c>true</c> se reserva cancelada, <c>false</c>se não.</returns>
        private static bool CancelarReserva(int numeroCC, DateTime dia, EnumSalas nSala)
        {
            bool aux;

            try
            {
                aux = GestorSalas.CancelarReserva(numeroCC, dia, nSala);
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }

            return(aux);
        }
Esempio n. 3
0
        /// <summary>
        /// Método auxiliar de registo de uma reserva.
        /// </summary>
        /// <returns><c>true</c>, reserva registada, <c>false</c> se não.</returns>
        /// <param name="reserva">Reserva.</param>
        /// <param name="nSalas">N sala.</param>
        private static bool RegistarReserva(Reserva reserva, EnumSalas nSalas)
        {
            bool aux = false;

            try
            {
                aux = GestorSalas.ReservarCama(reserva, nSalas);
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }

            return(aux);
        }
Esempio n. 4
0
        /// <summary>
        /// Método auxiliar para associar as pessoas ás camas.
        /// </summary>
        /// <returns><c>true</c>, Pessoa colocada, <c>false</c> se não.</returns>
        /// <param name="pessoa">Pessoa.</param>
        /// <param name="nSalas">N sala.</param>
        private static bool AssociarPessoa(Pessoa pessoa, EnumSalas nSalas)
        {
            bool aux;

            try
            {
                aux = GestorSalas.TentaAssociarPessoa(pessoa, nSalas);
            }
            catch (Exception ex)
            {
                aux = false;
                Console.WriteLine(ex.Message);
            }

            return(aux);
        }
Esempio n. 5
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();
        }