示例#1
0
        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()));
        }
示例#2
0
        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()));
        }