public async Task <IActionResult> OnGet() { if (ClassId == Guid.Empty) { TempData["Warning"] = "No class was selected"; return(RedirectToPage("/Admin/Classes")); } var classResponse = await dataService.ClassAsync(ClassId); if (classResponse == null) { TempData["Failed"] = "The class selected does not exist"; return(RedirectToPage("/Admin/Classes")); } ViewModel = new ClassDetailsViewModel { Class = classResponse, Children = new List <Child>(), BelongingSubjects = new List <Subject>(), NonBelongingSubjects = new List <Subject>(), }; if (classResponse.Students.Count > 0) { foreach (var student in classResponse.Students) { ViewModel.Children.Add(student.Child); } } if (classResponse.Subjects.Count > 0) { foreach (var subject in classResponse.Subjects) { ViewModel.BelongingSubjects.Add(subject.Subject); } } if (await _context.Subjects.AnyAsync()) { var allSubjects = await _context.Subjects.ToListAsync(); allSubjects.ForEach(subject => { if (!ViewModel.BelongingSubjects.Contains(subject)) { ViewModel.NonBelongingSubjects.Add(subject); } }); } ViewData["Title"] = $"{ViewModel.Class.Name} Details"; return(Page()); }
public async Task <IActionResult> Details() { var CurrentUser = (Teacher)await _userManager.GetUserAsync(User); var Class = _context.Classes.SingleOrDefault(c => c.Id == CurrentUser.ClassId); var model = new ClassDetailsViewModel(Class, CurrentUser); model.Students = _context.Students.Where(s => s.ClassId == Class.Id); var TodayAttendance = _context.Attendances.Where(a => a.Date.Date == DateTime.Now.Date); //finds students who have an attendance for today model.StudentsWithoutAttendance = model.Students.Where(s => !TodayAttendance.Any(a => a.StudentId == s.Id)); return(View(model)); }
public async Task <IActionResult> Details(int id) { var Class = await _context.Classes.FindAsync(id); if (Class == null) { return(NotFound()); } var Teacher = _context.Teachers.FirstOrDefault(t => t.ClassId == id); var model = new ClassDetailsViewModel(Class, Teacher); model.Students = _context.Students.Where(s => s.ClassId == id); var TodayAttendance = _context.Attendances.Where(a => a.Date.Date == DateTime.Now.Date); //finds students who don't have an attendance for today model.StudentsWithoutAttendance = model.Students.Where(s => !TodayAttendance.Any(a => a.StudentId == s.Id)); return(View(model)); }
public ActionResult Details(int id) { Class Class = _context.Classes.SingleOrDefault(c => c.Id == id); if (Class == null) { return(new HttpNotFoundResult()); } List <Student> students = _context.Students.ToList().Where(s => s.Classes.Contains(Class)).ToList(); StaffMember instructor = _context.Staff.ToList().SingleOrDefault(s => s.Id == Class.Instructor.Id); Course course = _context.Courses.ToList().SingleOrDefault(c => c.Id == Class.course.Id); ClassDetailsViewModel model = new ClassDetailsViewModel { Block = Class.Block, Semester = Class.Semester, InstructorName = instructor.FullName, CourseName = course.Name, StudentsInClass = students }; return(View("Details", model)); }