public ActionResult Index([Bind(Include = "idProfesor,firma")] AsistenciaModel asistencia) { if (ModelState.IsValid) { String dia = obtenCadenaDiaHoy(); DateTime horaActual = DateTime.Now.AddMinutes(15); List <HORARIO> lHorario = db.HORARIO.Where(h => h.ID_PROFESOR == asistencia.idProfesor && h.DIA_SEMANA.Contains(dia)).ToList(); if (lHorario.Count > 0) { int cont = 0; foreach (HORARIO hAux in lHorario) { if (hAux.HORA_CLASE.HORA_INICIO.TimeOfDay <= DateTime.Now.AddMinutes(15).TimeOfDay&& hAux.HORA_CLASE.HORA_FIN.TimeOfDay > DateTime.Now.AddMinutes(15).TimeOfDay) { REGISTRO_ASISTENCIA raAux = db.REGISTRO_ASISTENCIA.FirstOrDefault(ra => ra.ID_HORARIO == hAux.ID_HORARIO && ra.FECHA == DateTime.Today); if (raAux == null) { if (hAux.PROFESOR.FIRMA == asistencia.firma) { REGISTRO_ASISTENCIA rAsistencia = new REGISTRO_ASISTENCIA(); rAsistencia.FECHA = DateTime.Now.Date; rAsistencia.HORA = DateTime.Now; rAsistencia.ID_HORARIO = hAux.ID_HORARIO; db.REGISTRO_ASISTENCIA.Add(rAsistencia); db.SaveChanges(); db.CALCULOINSERCIONRETARDO(rAsistencia.ID_HORARIO, rAsistencia.ID_REGISTRO_ASISTENCIA, rAsistencia.HORA); db.SaveChanges(); ViewBag.idProfesor = obtenListadoProfesores(); return(View()); } ModelState.AddModelError("firma", "La firma es incorrecta"); break; } else { ModelState.AddModelError("", "Ya se registró una asistencia por parte del profesor en esta hora"); } } cont++; } if (cont >= lHorario.Count) { ModelState.AddModelError("idProfesor", "El profesor no tiene una clase asignada este día en está hora"); } } else { ModelState.AddModelError("idProfesor", "El profesor no tiene una clase asignada este día en está hora"); } } ViewBag.idProfesor = obtenListadoProfesores(); return(View(asistencia)); }
public ActionResult Delete(int id) { try { REGISTRO_ASISTENCIA raAux = db.REGISTRO_ASISTENCIA.FirstOrDefault(ra => ra.ID_HORARIO == id); if (raAux == null) { HORARIO horario = db.HORARIO.Find(id); String diasAnt = horario.DIA_SEMANA; db.HORARIO.Remove(horario); db.SaveChanges(); db.DECHORASPROFESOR(id, diasAnt); return(RedirectToAction("Index")); } else { return(RedirectToAction("Error", "Home")); } } catch (Exception ex) { return(RedirectToAction("NoConect", "Home")); } }