public ActionResult Add(OrientadorVM orientadorRecebido) { var query = ObterListaUsuarios().Where(c => c.Login.Equals(User.Identity.Name)).ToList(); if (query.Count == 0) { return(HttpNotFound()); } Orientador novoOrientador = orientadorRecebido.ToOrientador(); bool codigoExistente = ObterListaOrientadores() .FirstOrDefault(o => o.Codigo.Equals(novoOrientador.Codigo, StringComparison.InvariantCultureIgnoreCase) && !o.Id.Equals(novoOrientador.Id)) != null; if (codigoExistente) { ModelState.AddModelError("Codigo", "Já existe um orientador com esse código"); } if (ModelState.IsValid) { novoOrientador.Coordenador = ObterListaUsuarios() .Where(u => u.Login.Equals(User.Identity.Name)) .FirstOrDefault(); _orientadorRepository.Persist(novoOrientador); return(RedirectToAction("Index")); } return(View(novoOrientador.ToOrientadorVM())); }
public ActionResult Edit(OrientadorVM orientadorRecebido) { orientadorRecebido.Codigo = orientadorRecebido.Codigo.ToUpper(); var query = ObterListaUsuarios().Where(c => c.Login.Equals(User.Identity.Name)).ToList(); if (query.Count == 0) { return(HttpNotFound()); } Orientador novoOrientador = orientadorRecebido.ToOrientador(); Orientador orientadorSalvo = ObterListaOrientadores() .Where(o => o.Id == novoOrientador.Id) .FirstOrDefault(); if (orientadorSalvo == null) { return(RedirectToAction("Unauthorized", "Erro")); } bool codigoExistente = ObterListaOrientadores() .FirstOrDefault(o => o.Codigo.Equals(orientadorRecebido.Codigo, StringComparison.InvariantCultureIgnoreCase) && !o.Id.Equals(orientadorRecebido.Id)) != null; bool podeEditar = ObterListaOrientadores().Where(o => o.Id == orientadorSalvo.Id).FirstOrDefault() != null; if (!podeEditar) { return(RedirectToAction("Unauthorized", "Erro")); } if (codigoExistente) { ModelState.AddModelError("Codigo", "Já existe um orientador com esse código"); } if (ModelState.IsValid) { _orientadorRepository.Update(orientadorSalvo, novoOrientador); return(RedirectToAction("Index")); } return(View(novoOrientador.ToOrientadorVM())); }