public ActionResult Edit(TrabalhoVM trabRecebido, String descricaoAluno, String descricaoOrientador) { String matriculaAluno = descricaoAluno.Split(' ', '-', ' ').First(); String codigoOrientador = descricaoOrientador.Split(' ', '-', ' ').First(); Aluno alunoEscolhido = ObterListaAlunos() .Where(a => a.Matricula.Equals(matriculaAluno)) .FirstOrDefault(); Orientador orientadorEscolhido = ObterListaOrientadores() .Where(a => a.Codigo.Equals(codigoOrientador)) .FirstOrDefault(); if (alunoEscolhido == null || orientadorEscolhido == null) { return(new HttpStatusCodeResult(HttpStatusCode.NotFound)); } ModelState["Correcao"].Errors.Clear(); ModelState["Apresentacao"].Errors.Clear(); ModelState["Turma"].Errors.Clear(); if (ModelState.IsValid) { bool podeEditar = ObterListaTrabalhos() .Where(a => a.Id == trabRecebido.Id) .FirstOrDefault() != null; if (!podeEditar) { return(RedirectToAction("Unauthorized", "Erro")); } Trabalho novoTrabalho = trabRecebido.ToTrabalho(alunoEscolhido, orientadorEscolhido); Trabalho trabalhoSalvo = _trabalhoRepository.Find(novoTrabalho.Id); _trabalhoRepository.Update(trabalhoSalvo, novoTrabalho); return(RedirectToAction("Index")); } ViewBag.alunos = ObterListaAlunos() .ToAlunoVM(); ViewBag.orientadores = ObterListaOrientadores() .ToOrientadorVM(); return(View(trabRecebido)); }
public ActionResult Add(TrabalhoVM trabalhoRecebido, String descricaoAluno, String descricaoOrientador) { String matriculaAluno = descricaoAluno.Split(' ', '-', ' ').First(); String codigoOrientador = descricaoOrientador.Split(' ', '-', ' ').First(); Aluno alunoEscolhido = ObterListaAlunos() .Where(a => a.Matricula.Equals(matriculaAluno)) .FirstOrDefault(); Orientador orientadorEscolhido = ObterListaOrientadores() .Where(a => a.Codigo.Equals(codigoOrientador)) .FirstOrDefault(); if (alunoEscolhido == null || orientadorEscolhido == null) { return(new HttpStatusCodeResult(HttpStatusCode.NotFound)); } Trabalho novoTrabalho = trabalhoRecebido.ToTrabalho(alunoEscolhido, orientadorEscolhido); ModelState["Correcao"].Errors.Clear(); ModelState["Apresentacao"].Errors.Clear(); ModelState["Turma"].Errors.Clear(); if (ModelState.IsValid) { _trabalhoRepository.Persist(novoTrabalho); return(RedirectToAction("Index")); } List <AlunoVM> alunos = ObterListaAlunos().Where (a => a.Turma.Curso.Coordenador.Login.Equals(User.Identity.Name)) .ToAlunoVM() .ToList(); ViewBag.Orientadores = ObterListaOrientadores() .ToOrientadorVM(); ViewBag.Alunos = alunos; trabalhoRecebido.Aluno = alunoEscolhido.ToAlunoVM(); trabalhoRecebido.Orientador = orientadorEscolhido.ToOrientadorVM(); return(View(trabalhoRecebido)); }