public ActionResult Edit(CursoVM cursoRecebido)
        {
            Curso cursoSalvo = _cursoRepository.Find(cursoRecebido.Id);

            if (cursoSalvo == null)
            {
                return(HttpNotFound());
            }

            bool nomeExistente = ObterListaCursos()
                                 .FirstOrDefault(c => c.Nome.Equals(cursoRecebido.Nome, StringComparison.InvariantCultureIgnoreCase) && !c.Id.Equals(cursoRecebido.Id)) != null;

            if (nomeExistente)
            {
                ModelState.AddModelError("Nome", "Já existe um curso com esse nome");
            }

            if (ModelState.IsValid)
            {
                Curso novoCurso = cursoRecebido.ToCurso();
                cursoSalvo.Nome         = novoCurso.Nome;
                cursoSalvo.QtdSemestres = novoCurso.QtdSemestres;
                _cursoRepository.Merge(cursoSalvo);
                return(Json("true", JsonRequestBehavior.AllowGet));
            }
            return(Json("false", JsonRequestBehavior.AllowGet));
        }
        public ActionResult Add(CursoVM cursoRecebido)
        {
            bool nomeExistente = ObterListaCursos()
                                 .FirstOrDefault(c => c.Nome.Equals(cursoRecebido.Nome, StringComparison.InvariantCultureIgnoreCase) && !c.Id.Equals(cursoRecebido.Id)) != null;

            if (nomeExistente)
            {
                ModelState.AddModelError("Nome", "Já existe um curso com esse nome");
            }
            if (ModelState.IsValid)
            {
                Curso novoCurso = cursoRecebido.ToCurso();
                _cursoRepository.Persist(novoCurso);
                return(Json("true", JsonRequestBehavior.AllowGet));
            }
            return(Json("false", JsonRequestBehavior.AllowGet));
        }