public ActionResult EditarMateria(subjects a)
        {
            try
            {
                using (Models.universityEntities db = new Models.universityEntities())
                {
                    subjects mat = db.subjects.Find(a.id_subject);

                    mat.subject_name = a.subject_name;
                    mat.id_teacher   = a.id_teacher;
                    mat.start_time   = a.start_time;
                    mat.end_time     = a.end_time;
                    mat.students_max = a.students_max;
                    mat.students     = a.students;
                    mat.description  = a.description;

                    db.SaveChanges();
                    return(RedirectToAction("Index"));
                }
            }
            catch (Exception ex)
            {
                ModelState.AddModelError("Se ha producido un error - ", ex.Message);
                return(View());
            }
        }
        public ActionResult Login(string User, string Pass)
        {
            try
            {
                using (Models.universityEntities db = new Models.universityEntities())
                {
                    var oUser = (from d in db.users
                                 where d.dni == User.Trim() && d.password == Pass.Trim()
                                 select d).FirstOrDefault();

                    if (oUser == null)
                    {
                        ViewBag.Error = "DNI o contraseña inválida";
                        return(View());
                    }

                    Session["User"] = oUser;
                }

                return(RedirectToAction("Index", "Home"));
            }
            catch (Exception ex)
            {
                ViewBag.Error = ex.Message;
                return(View());
            }
        }
 public ActionResult ListaProfesores()
 {
     using (Models.universityEntities db = new Models.universityEntities())
     {
         return(PartialView(db.teachers.ToList()));
     }
 }
 public ActionResult InscripcionMateria(int id)
 {
     try
     {
         using (Models.universityEntities db = new Models.universityEntities())
         {
             subjects mat = db.subjects.Find(id);
             if (mat.students < mat.students_max)
             {
                 mat.students++;
                 db.SaveChanges();
                 return(RedirectToAction("Index"));
             }
             else
             {
                 //aca faltaria el mensaje informando que no es posible inscribir
                 return(RedirectToAction("Index"));
             }
         }
     }
     catch (Exception ex)
     {
         ModelState.AddModelError("Se ha producido un error - ", ex.Message);
         return(View());
     }
 }
 public ActionResult Index()
 {
     try
     {
         using (Models.universityEntities db = new Models.universityEntities())
         {
             return(View(db.subjects.ToList()));
         }
     }
     catch (Exception ex)
     {
         ModelState.AddModelError("Se ha producido un error - ", ex.Message);
         return(View());
     }
 }
 public ActionResult DetallesMateria(int id)
 {
     try
     {
         using (Models.universityEntities db = new Models.universityEntities())
         {
             subjects mat = db.subjects.Find(id);
             return(View(mat));
         }
     }
     catch (Exception ex)
     {
         ModelState.AddModelError("Se ha producido un error - ", ex.Message);
         return(View());
     }
 }
 public ActionResult EliminarMateria(int id)
 {
     try
     {
         using (Models.universityEntities db = new Models.universityEntities())
         {
             subjects mat = db.subjects.Find(id);
             db.subjects.Remove(mat);
             db.SaveChanges();
             return(RedirectToAction("Index"));
         }
     }
     catch (Exception ex)
     {
         ModelState.AddModelError("Se ha producido un error - ", ex.Message);
         return(View());
     }
 }
        public ActionResult AgregarMateria(subjects a)
        {
            if (!ModelState.IsValid)
            {
                return(View());
            }

            try
            {
                using (Models.universityEntities db = new Models.universityEntities())
                {
                    db.subjects.Add(a);
                    db.SaveChanges();
                    return(RedirectToAction("Index"));
                }
            }
            catch (Exception ex)
            {
                ModelState.AddModelError("", "Error al agregar materia - " + ex.Message);
                return(View());
            }
        }
        public ActionResult Editar(int id)
        {
            if (!ModelState.IsValid)
            {
                return(View());
            }

            try
            {
                using (Models.universityEntities db = new Models.universityEntities())
                {
                    //teachers prof = db.teachers.Where(a => a.id_teacher == id).FirstOrDefault();
                    teachers prof = db.teachers.Find(id);
                    return(View(prof));
                }
            }
            catch (Exception ex)
            {
                ModelState.AddModelError("Se ha producido un error - ", ex.Message);
                return(View());
            }
        }
        public ActionResult Editar(teachers a)
        {
            try
            {
                using (Models.universityEntities db = new Models.universityEntities())
                {
                    teachers prof = db.teachers.Find(a.id_teacher);

                    prof.teacher_dni       = a.teacher_dni;
                    prof.teacher_name      = a.teacher_name;
                    prof.teacher_last_name = a.teacher_last_name;
                    prof.active            = a.active;

                    db.SaveChanges();
                    return(RedirectToAction("Index"));
                }
            }
            catch (Exception ex)
            {
                ModelState.AddModelError("Se ha producido un error - ", ex.Message);
                return(View());
            }
        }