public void Save(curso entity)
 {
     DataModel.Entry(entity).State = entity.id_curso == 0 ?
        EntityState.Added :
        EntityState.Modified;
     DataModel.SaveChanges();
 }
 public ActionResult List(curso entity, String message, String messageError)
 {
     ViewData["message"] = message;
     ViewData["messageError"] = messageError;
     if (string.IsNullOrEmpty(entity.nome_curso))
     {
         return View(CursoRepository.GetAll());
     }
     else
     {
         return View(CursoRepository.GetAllByCriteria(entity.nome_curso));
     }
 }
        public ActionResult Create(curso curso)
        {
            LoadFormFaculdade(); 

            try
            {
                if (validate(curso))
                    return View(curso);

                CursoRepository.Create(curso);

                return RedirectToAction("List", new { message = "Dados cadastrados com sucesso!" });
            }
            catch
            {
                return View(curso);
            }
        }
        public bool validate(curso entity)
        {
            bool retorno = false;

            if (string.IsNullOrEmpty(entity.nome_curso))
            {
                ModelState.AddModelError("nome_curso", "Campo obrigatório");
                retorno = true;
            }
            if (string.IsNullOrEmpty(entity.descricao_curso))
            {
                ModelState.AddModelError("descricao_curso", "Campo obrigatório");
                retorno = true;
            }

            return retorno;
        }
        public ActionResult Delete(int id, curso curso)
        {
            try
            {
                curso = CursoRepository.GetOne(id);
                if (curso.usuario != null)
                    return RedirectToAction("List", new { messageError = "Esse curso possui registros vinculados a seu cadastro. Não é possível excluí-lo." });

                CursoRepository.Delete(curso);

                return RedirectToAction("List", new { message = "Dados excluídos com sucesso!" });
            }
            catch
            {
                return View();
            }
        }
        public void LoadFormCurso()
        {
            IEnumerable<curso> lst = CursoRepository.GetAll();
            int c = lst.Count();

            curso temp = new curso();
            temp.id_curso = 0;
            temp.nome_curso = "";

            List<curso> lstTemp = new List<curso>();
            lstTemp.Add(temp);

            foreach (var item in lst)
            {
                lstTemp.Add(item);
            }

            ViewData["lstCurso"] = lstTemp.AsEnumerable<curso>();
        }
 public void Delete(curso entity)
 {
     DataModel.curso.Remove(entity);
     DataModel.SaveChanges();
 }
 public void Edit(curso entity)
 {
     Save(entity);
 }
 public void Create(curso entity)
 {
     Save(entity);
 }