public void RegistrarTurma(Turma t) { Turmas.Add(t); t.RegistrarCurso(this); }
static void Main(string[] args) { var iesUTFPR = new Instituicao() { Nome = "UTFPR", Endereco = new Endereco() { Rua = "Brasil", Numero = "1000" } }; var iesCC = new Instituicao() { Nome = "Casa do Código", Endereco = new Endereco() { Bairro = "Liberdade" } }; var dptoEnsino = new Departamento() { Nome = "Computação" }; var dptoAlimentos = new Departamento() { Nome = "Alimentos" }; var dptoRevisao = new Departamento() { Nome = "Revisão Escrita" }; iesUTFPR.RegistrarDepartamento(dptoEnsino); iesUTFPR.RegistrarDepartamento(dptoAlimentos); iesCC.RegistrarDepartamento(dptoRevisao); Console.WriteLine("UTFPR"); for (int i = 0; i < iesUTFPR.ObterQuantidadeDepartamentos(); i++) { Console.WriteLine($"==> {iesUTFPR.Departamentos[i].Nome}"); } Console.WriteLine("Casa do Código"); for (int i = 0; i < iesCC.ObterQuantidadeDepartamentos(); i++) { Console.WriteLine($"==> {iesCC.Departamentos[i].Nome}"); } Console.Write("Pressione qualquer tecla para continuar"); Console.ReadKey(); var ctAlimentos = new Graduacao() { Nome = "Tecnologia em Alimentos", CargaHoraria = 2000 }; dptoAlimentos.RegistrarCurso(ctAlimentos); if (!dptoAlimentos.Cursos.Contains(ctAlimentos)) { dptoAlimentos.RegistrarCurso(ctAlimentos); } dptoAlimentos.RegistrarCurso( new Graduacao { Nome = "Engenharia de Alimentos", CargaHoraria = 3000 }); Console.WriteLine(); Console.WriteLine(); Console.WriteLine($"Cursos no departamento de {dptoAlimentos.Nome}"); foreach (var curso in dptoAlimentos.Cursos) { Console.WriteLine($"==> {curso.Nome} ({curso.CargaHoraria}h)"); } Console.WriteLine(); Console.WriteLine( $"A carga horária do curso de Engenharia de Alimentos do departamento {dptoAlimentos.Nome.ToUpper()} é {dptoAlimentos.ObterCursoPorNome("Engenharia de Alimentos").CargaHoraria}h"); Console.Write("Pressione qualquer tecla para continuar"); Console.ReadKey(); dptoAlimentos.FecharDepartamento(); dptoAlimentos = null; Console.WriteLine(); Console.WriteLine(); Console.WriteLine("O departamento de alimentos foi fechado"); Console.ReadKey(); Console.WriteLine(); var cursoCC = new Graduacao() { Nome = "Ciência da Computação", CargaHoraria = 3000 }; cursoCC.RegistrarDisciplina(new Disciplina() { Nome = "Algoritmos", CargaHoraria = 80 }); cursoCC.RegistrarDisciplina(new Disciplina() { Nome = "Orientação a Objetos", CargaHoraria = 60 }); cursoCC.RegistrarDisciplina(new Disciplina() { Nome = "Orientação a Objetos", CargaHoraria = 80 }); cursoCC.RegistrarDisciplina(new Disciplina() { Nome = "Estrutura de Dados", CargaHoraria = 80 }); cursoCC.RegistrarDisciplina(new Disciplina() { Nome = "Programação para web", CargaHoraria = 80 }); Console.WriteLine($"O curso {cursoCC.Nome} possui {cursoCC.Disciplinas.Count} disciplinas:"); foreach (var d in cursoCC.Disciplinas) { Console.WriteLine($"==> {d.Nome} ({d.CargaHoraria})"); } Console.Write("Pressione qualquer tecla para continuar"); Console.WriteLine(); Console.ReadKey(); var graduacao = new Graduacao() { Nome = "Curso de Graduação" }; var latoSensu = new LatoSensu() { Nome = "Curso de Lato Sensu" }; var strictoSenso = new StrictoSensu() { Nome = "Curso de Stricto Sensu" }; var repositorioCursos = new RepositorioCurso(); repositorioCursos.Gravar(graduacao); repositorioCursos.Gravar(latoSensu); repositorioCursos.Gravar(strictoSenso); Console.WriteLine(); Console.WriteLine("Cursos gravados"); foreach (var curso in repositorioCursos.ObterTodos()) { Console.WriteLine($"==> {curso.Nome} ({curso.GetType()})"); } Console.Write("Pressione qualquer tecla para continuar"); Console.ReadKey(); var turma = new Turma() { CodigoTurma = "1", PeriodoCurso = PeriodoCursoEnum.Primeiro, TurnoTurma = TurnoTurmaEnum.Matutino }; var aluno = new Aluno() { RegistroAcademico = "1", Nome = "Asdrubal" }; cursoCC.RegistrarAluno(aluno); cursoCC.RegistrarTurma(turma); foreach (var d in cursoCC.Disciplinas) { try { turma.RegistrarMatricula(new Matricula() { Aluno = aluno, Disciplina = d }); } catch (Exception exception) { Console.WriteLine(); Console.WriteLine(); Console.WriteLine(exception.Message); } } Console.WriteLine("Registro de matrículas concluído"); Console.Write("Pressione qualquer tecla para continuar"); Console.ReadKey(); }