Exemplo n.º 1
0
        /// <summary>
        /// Método Principal (Main)
        /// </summary>
        /// <param name="args"></param>
        public static void Main(string[] args)
        {
            #region Variaveis

            int       opcaoEscolhida;
            Aluno     alunoAux;
            Docente   docenteAux;
            int       pesquisaAux, pesquisaAux2;
            string    nomeTurmaAux, nomeCursoAux;
            const int MAXTURMA = 30;
            int       numeroAlunoAux;
            int[]     numerosAlunos = new int[MAXTURMA];
            int[]     conjuntoAlunos;
            Aula      aulaAux;
            Aula[]    conjuntoAulas;

            #endregion

            // Ciclo para correr o Menu
            do
            {
                Console.Clear();
                opcaoEscolhida = Menu();

                switch (opcaoEscolhida)
                {
                // Inserir um aluno
                case 1:

                    #region RecebeAluno

                    alunoAux = RecebeAluno();

                    // Tenta inserir o aluno
                    try
                    {
                        ValidaDadosInput.InsereAluno(alunoAux);
                        Console.WriteLine("\n - Aluno Inserido com exito!");
                        Console.ReadKey();
                    }

                    // Se não conseguir apresenta o erro
                    catch (Exception erro)
                    {
                        Console.WriteLine(erro.Message);
                        Console.ReadKey();
                    }

                    #endregion

                    break;


                // Inserir um docente
                case 2:

                    #region InsereDocente

                    docenteAux = RecebeDocente();

                    // Tenta inserir o docente
                    try
                    {
                        ValidaDadosInput.InsereDocente(docenteAux);
                        Console.WriteLine("\n - Docente Inserido com exito!");
                        Console.ReadKey();
                    }

                    // Se não conseguir apresenta o erro
                    catch (Exception erro)
                    {
                        Console.WriteLine(erro.Message);
                        Console.ReadKey();
                    }

                    #endregion

                    break;


                // Consulta de informação
                case 3:

                    #region ConsultaInformacao

                    Console.Write("\n - Deseja consultar um aluno (1) ou professor (2) ? ");
                    pesquisaAux2 = int.Parse(Console.ReadLine());

                    // Se desejar pesquisar um aluno
                    if (pesquisaAux2 == 1)
                    {
                        Console.Write("\n - Insira o numero do aluno que deseja pesquisar: ");
                        pesquisaAux = int.Parse(Console.ReadLine());


                        // Tentar consultar e apresentar a informação
                        try
                        {
                            alunoAux = ValidaDadosOutput.PesquisaAluno(pesquisaAux);

                            Console.Clear();
                            Console.WriteLine(" Informação do aluno nº{0}", pesquisaAux);
                            Console.WriteLine(@"
Nome: {0}
Propinas pagas ? {1} ", alunoAux.NomePessoa, alunoAux.PropinasRegularizadas);

                            Console.ReadKey();
                        }

                        // Se não lança erros
                        catch (Exception erro)
                        {
                            Console.WriteLine(erro.Message);
                            Console.ReadKey();
                        }
                    }


                    // Se desejar pesquisar um docente
                    if (pesquisaAux2 == 2)
                    {
                        Console.Write("\n - Insira o numero do docente que deseja pesquisar: ");
                        pesquisaAux = int.Parse(Console.ReadLine());


                        // Tenta consultar
                        try
                        {
                            docenteAux = ValidaDadosOutput.PesquisaDocente(pesquisaAux);

                            Console.Clear();
                            Console.WriteLine(" Informação do Docente nº{0}", pesquisaAux);
                            Console.WriteLine(@"
Nome: {0}
Grau Academico: {1} ", docenteAux.NomePessoa, docenteAux.GrauAcademico);

                            Console.ReadKey();
                        }

                        // Se não lança erro
                        catch (Exception erro)
                        {
                            Console.WriteLine(erro.Message);
                            Console.ReadKey();
                        }
                    }


                    // Se não inserir uma opção correcta
                    else
                    {
                        Console.WriteLine(" - Opção de pesquisa não valida !");
                    }

                    #endregion

                    break;

                // Criar uma turma
                case 4:

                    #region CriaTurma

                    // Requista informação
                    Console.Write("\n - Insira o nome da turma: ");
                    nomeTurmaAux = Console.ReadLine();

                    Console.Write("\n - Insira o nome do curso que deseja inserir a turma: ");
                    nomeCursoAux = Console.ReadLine().ToUpper();

                    Console.Write("\n - Insira o numero de aluno para adicionar a turma (0 para terminar): ");
                    numeroAlunoAux = int.Parse(Console.ReadLine());

                    for (int i = 0; i < MAXTURMA; i++)
                    {
                        // Se for inserido o 0 sai
                        if (numeroAlunoAux == 0)
                        {
                            break;
                        }


                        // Verifica se o aluno existe na base de dados
                        if (ValidaDadosOutput.VerificaSeAlunoExiste(numeroAlunoAux))
                        {
                            numerosAlunos[i] = numeroAlunoAux;
                        }


                        // Se não insere o numero
                        else
                        {
                            Console.WriteLine(" - O aluno inserido não existe !");
                            Console.ReadKey();
                        }

                        // Requisita o proximo numero
                        Console.Write("\n - Insira o numero de aluno para adicionar a turma (0 para terminar): ");
                        numeroAlunoAux = int.Parse(Console.ReadLine());
                    }

                    // Tenta adicionar a turma
                    try
                    {
                        ValidaDadosInput.CriaTurma(nomeTurmaAux, nomeCursoAux, numerosAlunos);
                    }

                    // Se não conseguir apresenta o motivo
                    catch (Exception erro)
                    {
                        Console.WriteLine(erro.Message);
                        Console.WriteLine("\n\n" + erro);
                        Console.ReadKey();
                    }

                    #endregion

                    break;


                // Lista uma turma
                case 5:

                    #region ListaTurma

                    // Requisita informação ao utilizador
                    Console.Write("\n - Insira o nome da turma que deseja listar os alunos: ");
                    nomeTurmaAux = Console.ReadLine();

                    Console.Write("\n - Insira o nome do curso: ");
                    nomeCursoAux = Console.ReadLine().ToUpper();


                    // Tenta requistar a informação
                    try
                    {
                        conjuntoAlunos = ValidaDadosOutput.DevolveConjuntoAlunos(nomeTurmaAux, nomeCursoAux);
                    }


                    // Se acorrer um erro
                    catch (Exception erro)
                    {
                        Console.WriteLine(erro.Message);
                        Console.ReadKey();
                        break;
                    }


                    // Apresenta os numeros
                    Console.Clear();
                    Console.WriteLine(" - Alunos da turma {0}", nomeTurmaAux);

                    foreach (int numero in conjuntoAlunos)
                    {
                        // Se o numero for 0
                        if (numero == 0)
                        {
                            break;
                        }

                        Console.WriteLine(" - " + numero);
                    }

                    Console.ReadKey();

                    #endregion

                    break;


                // Cria uma nova aula
                case 6:

                    #region CriarAula

                    // Tenta receber uma aula
                    try
                    {
                        aulaAux = RecebeAula();
                    }


                    // Se não conseguir, apresenta erro e sai do case
                    catch (Exception erro)
                    {
                        Console.WriteLine(erro.Message);
                        Console.ReadKey();
                        break;
                    }

                    // Recebe o nome do curso que desejamos inserir a aula
                    Console.Write("\n - Insira o Curso que deseja inserir a aula: ");
                    nomeCursoAux = Console.ReadLine().ToUpper();

                    // Tenta adicionar a aula
                    try
                    {
                        if (ValidaDadosInput.InsereAula(aulaAux, nomeCursoAux))
                        {
                            Console.WriteLine("\n - Aula Inserida com sucesso!");
                        }
                    }


                    // Se não apresenta erro
                    catch (Exception erro)
                    {
                        Console.WriteLine(erro.Message);
                        Console.ReadKey();
                    }


                    #endregion

                    break;


                // Apresenta a lista de aulas de um curso ordenada
                case 7:

                    #region ListaAula

                    // Requista informação
                    Console.Write("\n - Insira o nome do curso que deseja consultar as aulas: ");
                    nomeCursoAux = Console.ReadLine().ToUpper();

                    // Tenta requisitar a informaçao
                    try
                    {
                        conjuntoAulas = ValidaDadosOutput.DevolveConjuntoAulas(nomeCursoAux);
                    }

                    // se não conseguir lança o erro
                    catch (Exception erro)
                    {
                        Console.WriteLine(erro.Message);
                        Console.ReadKey();
                        break;
                    }

                    // Percorre a informação
                    foreach (Aula aula in conjuntoAulas)
                    {
                        // Apresenta a informação
                        Console.WriteLine("\n\n\t\t ** Aula ** ");
                        Console.Write("\n - Data: {0}", aula.Data);
                        Console.Write("\n Numero Docente Responsavel: {0}", aula.NumeroDocente);
                        Console.Write("\n Sala: {0}", aula.Sala);
                        Console.Write("\n Turma: {0}", aula.IdentificacaoTurma);
                        Console.Write("\n Unidade Curricular: {0}", aula.UnidadeCurricular);
                        Console.WriteLine("\n\n\t\t ** ** ");
                    }

                    Console.ReadKey();

                    #endregion

                    break;


                // Guarda a informação em ficheiro
                case 8:

                    #region GuardaInformacao

                    // Tenta guardar a informação
                    try
                    {
                        ValidaDadosOutput.GuardaInformacao();
                    }


                    catch (Exception erro)
                    {
                        Console.WriteLine(erro.Message);
                        Console.ReadKey();
                        break;
                    }

                    finally
                    {
                        Console.WriteLine(" - Informação guardada com sucesso !");
                        Console.ReadKey();
                    }


                    #endregion

                    break;


                // Carrega as informaçoes
                case 9:

                    #region CarregaInformacao

                    // Tenta carregar a informação
                    try
                    {
                        ValidaDadosInput.CarregaInformacao();
                    }


                    catch (Exception erro)
                    {
                        Console.WriteLine(erro.Message);
                        Console.ReadKey();
                        break;
                    }

                    finally
                    {
                        Console.WriteLine(" - Informação Carregada com sucesso!");
                        Console.ReadKey();
                    }



                    #endregion

                    break;


                // SAIR
                case 0:

                    Environment.Exit(0);

                    break;



                // Caso Default
                default:

                    Console.WriteLine(" Opção não é valida tente novamente !");
                    Console.ReadKey();

                    break;
                }
            } while (opcaoEscolhida != 0);
        }