public void SaveAssistance(Assistances assistance) { try { db.Assistances.Add(assistance); db.SaveChanges(); } catch (Exception) { throw; } }
public ActionResult Create([Bind(Include = "IdAssistance,IdTeacher,Date,IdCourse,IdSubject,IdStudent")] Assistances assistances) { var today = DateTime.UtcNow.AddHours(-5); ViewBag.Today = today.ToString("yyyy-MM-dd"); var courses = validationsCourse.GetAllCourses(); var teacher = validationUser.GetAllTeachers().Where(x => x.Id == User.Identity.GetUserId()); var subjects = validationsSubject.GetAllSubjects(); ViewBag.IdTeacher = new SelectList(teacher, "Id", "FullName"); ViewBag.IdCourse = new SelectList(courses, "IdCourse", "Description"); ViewBag.IdSubject = new SelectList(subjects, "IdSubjects", "name"); return(View()); }
public ActionResult SaveAssistances(List <int> ids, int idCourse, int idSubject) { if (ids == null || ids.Count == 0) { return(JavaScript("toastr.warning('Debe seleccionar al menos un estudiante');")); } else { string user = User.Identity.GetUserId(); var today = DateTime.UtcNow.AddHours(-5); List <Assistances> assistances = new List <Assistances>(); List <Students> fails = validationStudents.GetStudensByCourse(idCourse).ToList(); List <Students> studentsInClass = validationStudents.GetStudensById(ids); fails = (from c in fails where !(from o in studentsInClass select o.IdStudent) .Contains(c.IdStudent) select c).ToList(); foreach (Students student in studentsInClass) { Assistances assistance = new Assistances { IdTeacher = user, IdCourse = idCourse, IdSubject = idSubject, Date = today, IdStudent = student.IdStudent }; assistances.Add(assistance); } bool saveAssistances = validationsAssistance.SaveAssistances(assistances); if (saveAssistances) { if (fails.Count > 0) { bool saveLacks = validationsLack.SaveLacks(fails, idCourse, idSubject, today, user); if (saveLacks) { foreach (var item in fails) { sendEmail.SendLack(item, user, idSubject); } return(JavaScript("toastr.success('Fallas y asistencias registradas');" + "window.setTimeout(function(){window.location.href = '/Assistances/Index'}, 1500);")); } else { return(JavaScript("toastr.error('Error al registrar fallas');")); } } else { return(JavaScript("toastr.success('No hay fallas que registrar');" + "window.setTimeout(function(){window.location.href = '/Assistances/Index'}, 1500);")); } } else { return(JavaScript("toastr.error('Error al registrar Asistencias');")); } } }