public async Task <IActionResult> PutCoordenador([FromRoute] int id, [FromBody] Coordenador coordenador)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != coordenador.UsuarioId)
            {
                return(BadRequest());
            }

            _context.Entry(coordenador).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!CoordenadorExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }
        private void PreencherCampos(Coordenador item)
        {
            txtNome.Text            = item.Nome;
            txtIdade.Value          = Convert.ToInt32(item.Idade);
            txtSexo.Text            = item.Sexo;
            txtEstadoCivil.Text     = item.EstadoCivil;
            txtCpf.Text             = item.CPF;
            txtNR.Value             = item.NR;
            txtEmail.Text           = item.Email;
            txtNumero.Value         = item.Endereco.Numero;
            txtRua.Text             = item.Endereco.Rua;
            txtCep.Text             = item.Endereco.Cep;
            txtBairro.Text          = item.Endereco.Bairro;
            txtEstado.Text          = item.Endereco.Estado;
            txtPais.Text            = item.Endereco.Pais;
            txtCidade.Text          = item.Endereco.Cidade;
            txtTelefoneCelular.Text = item.Telefone.TelefoneCelular;
            txtTelefoneFixo.Text    = item.Telefone.TelefoneFixo;



            curso_id = item.Curso_id;
            // var pesquisaCurso = new ControleClass().procurarCursoNomes(curso_id);
            txtCurso.Text = new ControleClass().procurarCursoNomes(curso_id);
        }
 public CoordenadorDTO(Coordenador coordenador)
 {
     this.Id       = coordenador.Usuario.Id;
     this.Email    = coordenador.Usuario.Email;
     this.UserName = coordenador.Usuario.UserName;
     this.Nome     = coordenador.Usuario.Nome;
 }
示例#4
0
        public async Task <IActionResult> Edit(int id, [Bind("CoordenadorId,Nome,Veiculo,RedeSocial,Placa,Celular,Telefone,CreatedDate,UpdatedDate")] Coordenador coordenador)
        {
            if (id != coordenador.CoordenadorId)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(coordenador);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!CoordenadorExists(coordenador.CoordenadorId))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            return(View(coordenador));
        }
        public IActionResult Coordenadores(PageDataViewModel <Coordenador> model)
        {
            IEnumerable <Coordenador> data = null;

            switch (model.FilterType)
            {
            case FilterType.ById:
                var id     = Int64.Parse(model.FilteValue);
                var entity = _Service.GetCoordenadorById(id);

                if (entity != null)
                {
                    data = new Coordenador[] { entity };
                }
                else
                {
                    data = new Coordenador[] { };
                }
                break;

            case FilterType.ByName:
                data = _Service.GetCoordenadores(model.FilteValue);
                break;
            }

            model.Total = data.Count();
            model.Data  = data;

            return(View(model));
        }
示例#6
0
        public void CadastrarTurma(Escola escola)
        {
            int idCoodenador, qtd;

            Console.WriteLine("Digite a matricula do coodernador!\n");
            while (!int.TryParse(Console.ReadLine(), out idCoodenador))
            {
                Console.WriteLine("matricula inválida, digite novamente!\n");
            }

            var oCoodenador = escola.Coordenadores.FirstOrDefault(c => c.Matricula == idCoodenador);

            while (oCoodenador == null)
            {
                Console.WriteLine("Coordenador inválido, digite novamente!\n");

                Console.WriteLine("Digite a matricula do coodernador!\n");
                while (!int.TryParse(Console.ReadLine(), out idCoodenador))
                {
                    Console.WriteLine("matricula inválida, digite novamente!\n");
                }

                oCoodenador = escola.Coordenadores.FirstOrDefault(c => c.Matricula == idCoodenador);
            }

            Console.WriteLine("Digite a quantiade maxima da turma!\n");
            while (!int.TryParse(Console.ReadLine(), out qtd))
            {
                Console.WriteLine("quantidade inválida, digite novamente!\n");
            }

            Coordenador = oCoodenador;
            Alunos      = new List <Aluno>(qtd);
        }
        public ActionResult DeleteConfirmed(int id)
        {
            Coordenador coordenador = db.Coordenadores.Find(id);

            db.Coordenadores.Remove(coordenador);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
示例#8
0
        static void Main(string[] args)
        {
            Professor professor = new Professor();

            professor.ValeRefeicao();

            Coordenador coordenador = new Coordenador();

            coordenador.ValeRefeicao();
        }
        public ActionResult Edit(Coordenador entity, int id = 0)
        {
            Coordenador cordenador = new Coordenador();
            Usuario     usuario    = new Usuario();

            try
            {
                cordenador       = id.Equals(0) ? new Coordenador() : repository.Cordenador.ObterPor(id);
                cordenador.Nome  = entity.Nome;
                cordenador.Email = entity.Email;
                cordenador.Validar();
                repository.Cordenador.Salvar(cordenador);

                if (id.Equals(0))
                {
                    usuario.Coordenador = cordenador;
                    usuario.Login       = Usuario.SepararEmail(cordenador.Email);
                    var senha = Usuario.geraSenha();
                    usuario.Senha  = Usuario.Encriptar(senha);
                    usuario.Perfil = Perfil.Cordenador;
                    usuario.Validar();
                    repository.Usuario.Salvar(usuario);
                    Usuario.EnviarEmailDeLogin(cordenador.Nome, cordenador.Email, senha);
                }

                repository.SaveChanges();


                if (id.Equals(0))
                {
                    TempData["Mensagem"] = "Sucesso";

                    ModelState.Clear();
                    return(View(new Coordenador()));
                }
                return(RedirectToAction("List"));
            }
            catch (Exception ex)
            {
                string[] mensagens = ex.Message.Replace("\r\n", "x").Split('x');

                for (int i = 0; i < mensagens.Count() - 1; i++)
                {
                    if (mensagens[i].Contains(cordenador.MsgEmail))
                    {
                        ModelState.AddModelError("Email", mensagens[i]);
                    }
                    else
                    {
                        TempData["Alerta"] = ex.Message.Replace(Environment.NewLine, "<br/>");
                    }
                }
                return(View(entity));
            }
        }
示例#10
0
        public async Task <IActionResult> Professores()
        {
            var coordenadorUsuario = CoodernadorUsuario();

            _coordenadorUsuario = await coordenadorUsuario;

            ViewBag.UserName = $"{_coordenadorUsuario.Pessoa.NomeDaPessoa} {_coordenadorUsuario.Pessoa.SobrenomeDaPessoa}";
            var professorViewModel = _mapper.Map <IEnumerable <Professor>, IEnumerable <ProfessorViewModel> >(await _professorAppService.ConsultarTodosProfessoresAsync());

            return(View(professorViewModel));
        }
示例#11
0
        public async Task <IActionResult> Create([Bind("CoordenadorId,Nome,Veiculo,RedeSocial,Placa,Celular,Telefone,CreatedDate,UpdatedDate")] Coordenador coordenador)
        {
            if (ModelState.IsValid)
            {
                _context.Add(coordenador);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(coordenador));
        }
        public async Task <IActionResult> PostCoordenador([FromBody] Coordenador coordenador)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            _context.Coordenador.Add(coordenador);
            await _context.SaveChangesAsync();

            return(CreatedAtAction("GetCoordenador", new { id = coordenador.UsuarioId }, coordenador));
        }
        public async Task <IActionResult> Alunos()
        {
            var coordenadorUsuario = CoodernadorUsuario();

            _coordenadorUsuario          = await coordenadorUsuario;
            TempData["CursoCoordenador"] = _coordenadorUsuario.IdDoCurso;

            ViewBag.UserName = $"{_coordenadorUsuario.Pessoa.NomeDaPessoa} {_coordenadorUsuario.Pessoa.SobrenomeDaPessoa}";
            var alunosViewModel = _mapper.Map <IEnumerable <Aluno>, IEnumerable <AlunoViewModel> >(await _alunoAppService.SelecionarAlunosPeloCursoAsync(_coordenadorUsuario.IdDoCurso));

            return(View(alunosViewModel));
        }
        public async Task <ViewResult> SelecionarConteudo(int idDoModulo)
        {
            var coordenadorUsuario = CoodernadorUsuario();

            _coordenadorUsuario = await coordenadorUsuario;

            var moduloViewModel   = _mapper.Map <IEnumerable <Modulo>, IEnumerable <ModuloViewModel> >(await _moduloAppService.ConsultarModulosDoCursoAsync(_coordenadorUsuario.IdDoCurso));
            var unidadeViewModel  = _mapper.Map <IEnumerable <Unidade>, IEnumerable <UnidadeViewModel> >(await _unidadeAppService.ConsultarUnidadadesDoModuloAsync(idDoModulo));
            var conteudoViewModel = new ConteudoViewModel(moduloViewModel, unidadeViewModel);

            return(View(conteudoViewModel));
        }
        static void Main(string[] args)
        {
            Professor   professor   = new Professor();
            Coordenador coordenador = new Coordenador();
            Secretario  secretario  = new Secretario();

            Console.WriteLine("Taxa do professor");
            professor.ValeRefeicao();
            Console.WriteLine("Taxa do coordenador");
            coordenador.ValeRefeicao();
            Console.WriteLine("Taxa do secretario");
            secretario.ValeRefeicao();
        }
        public async Task <IActionResult> Get(string id)
        {
            Coordenador coordenador = await _uow.Usuarios.ObterCoordenador(id);

            if (coordenador == null)
            {
                return(NotFound());
            }

            var coordenadorDTO = new CoordenadorDTO(coordenador);

            return(Ok(coordenadorDTO));
        }
示例#17
0
        public async Task <ViewResult> Unidade(int idDoModulo, int idDaUnidade)
        {
            var coordenadorUsuario = CoodernadorUsuario();

            _coordenadorUsuario = await coordenadorUsuario;

            ViewBag.UserName = $"{_coordenadorUsuario.Pessoa.NomeDaPessoa} {_coordenadorUsuario.Pessoa.SobrenomeDaPessoa}";
            var moduloViewModel        = _mapper.Map <IEnumerable <Modulo>, IEnumerable <ModuloViewModel> >(await _moduloAppService.ConsultarModulosDoCursoAsync(_coordenadorUsuario.IdDoCurso));
            var unidadeViewModel       = _mapper.Map <IEnumerable <Unidade>, IEnumerable <UnidadeViewModel> >(await _unidadeAppService.ConsultarUnidadadesDoModuloAsync(idDoModulo));
            var conteudoAlunoViewModel = new ConteudoViewModel(moduloViewModel, unidadeViewModel);

            return(View(conteudoAlunoViewModel));
        }
        // GET: Coordenadors/Delete/5
        public ActionResult Delete(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Coordenador coordenador = db.Coordenadores.Find(id);

            if (coordenador == null)
            {
                return(HttpNotFound());
            }
            return(View(coordenador));
        }
示例#19
0
        public static void CadastroDePessoas(Escola Escola)
        {
            Console.Clear();
            while (true)
            {
                Console.WriteLine("\nDigite 1 para realizar o cadastro de um Aluno, 2 para professores, 3 para coordenador, 4 para turmas! e 5 para voltar o menu principal! \n");
                string Decisao = Console.ReadLine();

                switch (Decisao)
                {
                case "1":
                    var novoAluno = new Aluno();
                    novoAluno.CadastrarPessoa(Escola);
                    Escola.Alunos.Add(novoAluno);
                    Arquivo.Salvar(Escola);
                    break;

                case "2":
                    var novoProfessor = new Professor();
                    novoProfessor.CadastrarPessoa(Escola);
                    Escola.Professores.Add(novoProfessor);
                    Arquivo.Salvar(Escola);
                    break;

                case "3":
                    var novoCoordenador = new Coordenador();
                    novoCoordenador.CadastrarPessoa(Escola);
                    Escola.Coordenadores.Add(novoCoordenador);
                    Arquivo.Salvar(Escola);
                    break;

                case "4":
                    var novaTurma = new Turma();
                    novaTurma.CadastrarTurma(Escola);
                    Escola.Turmas.Add(novaTurma);
                    Arquivo.Salvar(Escola);
                    break;

                case "5":
                    Console.WriteLine("Enter para voltar ao menu principal");
                    Console.ReadLine();
                    MenuCentral(Escola);
                    break;

                default:
                    Console.WriteLine("Opção inválida!\n");
                    break;
                }
            }
        }
        public ActionResult Edit(int id = 0)
        {
            Coordenador cordenador = new Coordenador();

            try
            {
                cordenador = id.Equals(0) ? new Coordenador() : repository.Cordenador.ObterPor(id);
                return(View(cordenador));
            }
            catch (Exception ex)
            {
                ViewBag.Mensagem = ex.Message.Replace(Environment.NewLine, "</br>");
                return(View(cordenador));
            }
        }
        public async Task <IActionResult> Conteudo(int idDoModulo, string diretorioDaUnidade)
        {
            var coordenadorUsuario = CoodernadorUsuario();

            _coordenadorUsuario = await coordenadorUsuario;

            ViewBag.UserName = $"{_coordenadorUsuario.Pessoa.NomeDaPessoa} {_coordenadorUsuario.Pessoa.SobrenomeDaPessoa}";
            var moduloViewModel  = _mapper.Map <IEnumerable <Modulo>, IEnumerable <ModuloViewModel> >(await _moduloAppService.ConsultarModulosDoCursoAsync(_coordenadorUsuario.IdDoCurso));
            var unidadeViewModel = _mapper.Map <IEnumerable <Unidade>, IEnumerable <UnidadeViewModel> >(await _unidadeAppService.ConsultarUnidadadesDoModuloAsync(idDoModulo));

            _arquivos = diretorioDaUnidade != null ? await _recuperarArquivoAppService.RecuperarArquivosAsync(diretorioDaUnidade) : null;

            var conteudoAlunoViewModel = new ConteudoViewModel(moduloViewModel, unidadeViewModel, _arquivos);

            return(View(conteudoAlunoViewModel));
        }
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Coordenador coordenador = db.Coordenadores.Where(c => c.Pessoa.Id == id.Value).FirstOrDefault();

            if (coordenador == null)
            {
                coordenador          = new Coordenador();
                coordenador.Pessoa   = db.Pessoas.Find(id);
                coordenador.PessoaId = id.Value;
            }
            return(View(coordenador));
        }
示例#23
0
        static void Main(string[] args)
        {
            IPessoa professor   = new Professor("Tiago Resende");
            IPessoa aluno       = new Aluno("Brenno");
            IPessoa coordenador = new Coordenador("Laion");

            var pedido1 = new Pedido(professor);
            var pedido2 = new Pedido(aluno);
            var pedido3 = new Pedido(coordenador);

            var desaparecido = new Desaparecido("Tiago");
            var pedido4      = new Pedido(desaparecido);

            Console.WriteLine("Hello " + professor);
            Console.WriteLine("Hello " + aluno);
            Console.WriteLine("Hello " + coordenador);
        }
        static void Main(string[] args)
        {
            Professor Lucas = new Professor();

            Lucas.salario  = 1200;
            Lucas.periodo  = "noturno";
            Lucas.nome     = "lucas da silva";
            Lucas.endereco = "rua das capivaras";
            Lucas.telefone = "99999-2323";
            Lucas.email    = "*****@*****.**";
            Lucas.imprimeProfessor();

            Coordenador Luiz = new Coordenador();

            Luiz.nome     = "luiz pereira";
            Luiz.endereco = "rua das cascatas";
            Luiz.telefone = "33333-2323";
            Luiz.email    = "*****@*****.**";
            Luiz.salario  = 1300;
            Luiz.periodo  = "integral";
            //Luiz.cursos.<Curso>;
            Luiz.imprimeCoordenador();


            Aluno vinicius = new Aluno();

            vinicius.nome            = "vinicius donschen";
            vinicius.endereco        = "rua henrique michels";
            vinicius.telefone        = "999-1232";
            vinicius.email           = "*****@*****.**";
            vinicius.nomeResponsavel = "ana";
            vinicius.ano             = 1999;
            vinicius.imprimeAluno();

            ProfessorAssistente julia = new ProfessorAssistente();

            julia.nome          = "julia da silva";
            julia.endereco      = "rua das pedras";
            julia.telefone      = "33332-2323";
            julia.email         = "*****@*****.**";
            julia.conhecimentos = "C#, SQL, Java";
            julia.imprimeAssistente();
        }
        public async Task <ViewResult> EditarAluno(int idDoAluno, string idDoUsuario)
        {
            TempData["idDoAluno"]   = idDoAluno;
            TempData["idDoUsuario"] = idDoUsuario;
            TempData["Role"]        = "Aluno";

            var coordenadorUsuario = CoodernadorUsuario();

            _coordenadorUsuario          = await coordenadorUsuario;
            TempData["CursoCoordenador"] = _coordenadorUsuario.IdDoCurso;

            var editarAlunoViewModel = _mapper.Map <Aluno, EditarAlunoViewModel>(await _alunoAppService.ConsultarAlunoPeloId(idDoAluno));

            editarAlunoViewModel.Usuario = await _userManager.FindByIdAsync(idDoUsuario);

            TempData["IdDaPessoa"]    = editarAlunoViewModel.Pessoa.IdDaPessoa;
            TempData["CpfDaPessoa"]   = editarAlunoViewModel.Pessoa.CpfDaPessoa;
            TempData["EmailDaPessoa"] = editarAlunoViewModel.Pessoa.EmailDaPessoa;

            return(View(editarAlunoViewModel));
        }
        public ActionResult Edit([Bind(Include = "Id,Curriculo,PessoaId")] Coordenador coordenador)
        {
            Coordenador coord = db.Coordenadores.Find(coordenador.Id);

            if (coord == null)
            {
                db.Coordenadores.Add(coordenador);
                db.SaveChanges();
            }
            else
            {
                if (ModelState.IsValid)
                {
                    coord.Curriculo       = coordenador.Curriculo;
                    db.Entry(coord).State = EntityState.Modified;
                    db.Entry(coord).Property("PessoaId").IsModified = false;
                    db.SaveChanges();
                }
            }

            return(View(coordenador));
        }
        public Coordenador GetCoordenadorById(long id)
        {
            Task <string> task = Get(
                $"{_ApiServiceName}/GetCoordenadorById",
                new Dictionary <string, string>()
            {
                { "id", id.ToString() }
            }
                );

            task.Wait();

            string content = task.Result;

            if (string.IsNullOrEmpty(content))
            {
                return(null);
            }

            Coordenador coordenador = JsonConvert.DeserializeObject <Coordenador>(content);

            return(coordenador);
        }
示例#28
0
        public async Task <AppResponse> AtualizarCoordenador(AtualizarCoordenadorRequest request)
        {
            Coordenador coordenador = await _uow.Usuarios.ObterCoordenador(request.Id);

            if (coordenador == null)
            {
                return(new AppResponse(false, "Coordenador não encontrado."));
            }

            if (string.IsNullOrEmpty(request.Senha))
            {
                coordenador.Usuario.AdicionarErro("Informe a nova senha.");
            }

            if (string.IsNullOrEmpty(request.SenhaAntiga))
            {
                coordenador.Usuario.AdicionarErro("Informe a senha antiga.");
            }

            if (!coordenador.Usuario.TaValido())
            {
                return(new AppResponse(false, ERRO_BASE, coordenador.Usuario.ObterErros()));
            }

            coordenador.Atualizar(request);
            await _uow.CommitAsync();

            IdentityResult result = await _userManager.ChangePasswordAsync(coordenador.Usuario, request.SenhaAntiga, request.Senha);

            if (!result.Succeeded)
            {
                return(new AppResponse(MSG_ERRO_PWD_COORDENADOR, false, IdentityHelper.ObterErros(result)));
            }

            return(new AppResponse(true, MSG_UPDATE_SUCESSO, new CoordenadorDTO(coordenador)));
        }
 public void Visit(Coordenador coordenador)
 {
     TotalEmCaixaDaEmpresa += coordenador.ValorParaAprovacao;
 }
示例#30
0
        public static void RemovePessoasTurma(Escola escola)
        {
            Console.Clear();

            int codTurma, matriculaPessoa;

            Console.WriteLine("Turmas cadastradas!");
            escola.Turmas.ForEach(e => Console.WriteLine(e));

            Console.WriteLine("Escolha a turma pelo ID!");
            // Relização das validaçoes com while para prender o usuario ate ele escrever corretamente
            Turma aTurma = null;

            while (aTurma == null)
            {
                Console.WriteLine("Digite o Código da turma!\n");
                while (!int.TryParse(Console.ReadLine(), out codTurma))
                {
                    Console.WriteLine("matricula inválida, digite novamente!\n");
                }

                aTurma = escola.Turmas.FirstOrDefault(c => c.CodigoTurma == codTurma);
            }

            Console.WriteLine("Digite 1 para remover aluno da turma e 2 para remover professor e 3 para remover Coordenador");
            string Decisao = Console.ReadLine();

            switch (Decisao)
            {
            case "1":
                Aluno oAluno = null;

                while (oAluno == null)
                {
                    Console.WriteLine("aluno inválido, digite novamente!\n");

                    Console.WriteLine("Digite a matricula do aluno!\n");
                    while (!int.TryParse(Console.ReadLine(), out matriculaPessoa))
                    {
                        Console.WriteLine("matricula inválida, digite novamente!\n");
                    }

                    oAluno = escola.Alunos.FirstOrDefault(c => c.Matricula == matriculaPessoa);
                }

                aTurma.Alunos.Remove(oAluno);
                Arquivo.Salvar(escola);
                break;

            case "2":
                Professor oProfessor = null;

                while (oProfessor == null)
                {
                    Console.WriteLine("aluno inválido, digite novamente!\n");

                    Console.WriteLine("Digite a matricula do aluno!\n");
                    while (!int.TryParse(Console.ReadLine(), out matriculaPessoa))
                    {
                        Console.WriteLine("matricula inválida, digite novamente!\n");
                    }

                    oProfessor = escola.Professores.FirstOrDefault(c => c.Matricula == matriculaPessoa);
                }

                aTurma.Professor = null;
                Arquivo.Salvar(escola);
                break;

            case "3":
                Coordenador Coordenador = null;

                while (Coordenador == null)
                {
                    Console.WriteLine("Coordenador inválido, digite novamente!\n");

                    Console.WriteLine("Digite a matricula do aluno!\n");
                    while (!int.TryParse(Console.ReadLine(), out matriculaPessoa))
                    {
                        Console.WriteLine("matricula inválida, digite novamente!\n");
                    }

                    Coordenador = escola.Coordenadores.FirstOrDefault(c => c.Matricula == matriculaPessoa);
                }
                aTurma.Coordenador = null;
                Arquivo.Salvar(escola);
                break;

            default:
                Console.WriteLine("Opção inválida!\n");
                break;
            }
        }
示例#31
0
        public static void AtribuiCoodenador(Escola escola)
        {
            Console.Clear();

            Console.WriteLine("Coodenadores disponiveis!\n");
            escola.Coordenadores.ForEach(e => Console.WriteLine(e));

            int matriculaCoordenador, codTurma;

            Console.WriteLine("Digite 1 para atribuir coodernador na turma e 2 para atribuir a um professor");
            string Decisao = Console.ReadLine();

            switch (Decisao)
            {
            case "1":
                Console.WriteLine("Turmas disponiveis");
                escola.Turmas.ForEach(c => Console.WriteLine(c));

                // Relização das validaçoes com while para prender o usuario ate ele escrever corretamente
                Coordenador oCoordenador = null;

                while (oCoordenador == null)
                {
                    Console.WriteLine("Digite a matricula do aluno!\n");
                    while (!int.TryParse(Console.ReadLine(), out matriculaCoordenador))
                    {
                        Console.WriteLine("matricula inválida, digite novamente!\n");
                    }

                    oCoordenador = escola.Coordenadores.FirstOrDefault(c => c.Matricula == matriculaCoordenador);
                }

                Turma aTurma = null;

                while (aTurma == null)
                {
                    Console.WriteLine("Digite o Código da turma!\n");
                    while (!int.TryParse(Console.ReadLine(), out codTurma))
                    {
                        Console.WriteLine("matricula inválida, digite novamente!\n");
                    }

                    aTurma = escola.Turmas.FirstOrDefault(c => c.CodigoTurma == codTurma);
                }

                oCoordenador.CodTurmas.Add(aTurma.CodigoTurma);
                aTurma.Coordenador = oCoordenador;

                Arquivo.Salvar(escola);
                break;

            case "2":
                int matriculaProfessor;

                Console.WriteLine("Professores Disponiveis!");
                escola.Professores.ForEach(e => Console.WriteLine(e));

                Professor oProfessor = null;

                while (oProfessor == null)
                {
                    Console.WriteLine("Coordenador inválido, digite novamente!\n");

                    Console.WriteLine("Digite a matricula do aluno!\n");
                    while (!int.TryParse(Console.ReadLine(), out matriculaProfessor))
                    {
                        Console.WriteLine("matricula inválida, digite novamente!\n");
                    }

                    oProfessor = escola.Professores.FirstOrDefault(c => c.Matricula == matriculaProfessor);
                }

                Coordenador Coordenador = null;

                while (Coordenador == null)
                {
                    Console.WriteLine("Coordenador inválido, digite novamente!\n");

                    Console.WriteLine("Digite a matricula do aluno!\n");
                    while (!int.TryParse(Console.ReadLine(), out matriculaCoordenador))
                    {
                        Console.WriteLine("matricula inválida, digite novamente!\n");
                    }

                    oCoordenador = escola.Coordenadores.FirstOrDefault(c => c.Matricula == matriculaCoordenador);
                }

                if (oProfessor.Coordenador != null)
                {
                    escola.Coordenadores.Add(oProfessor.Coordenador);
                }


                oProfessor.Coordenador = Coordenador;

                Arquivo.Salvar(escola);
                break;

            default:
                Console.WriteLine("Opção inválida!\n");
                break;
            }
        }