public IActionResult InstructorGradeByAssignment(int id) { AssignmentDataService assignmentDataService = new AssignmentDataService(dbContext); Assignment assignment = assignmentDataService.GetAssignmentById(id); ViewData["Title"] = "Grades: " + assignment.Name; ViewData["AssignmentName"] = assignment.Name; ViewData["AssignmentId"] = assignment.Id; ClassDataService classDataService = new ClassDataService(dbContext); Class c = classDataService.GetClassById(assignment.ClassId); StudentClassDataService studentDataService = new StudentClassDataService(dbContext); var students = studentDataService.GetStudentsByClassid(c.Id); foreach (var student in students) { var result = assignmentDataService.GetTopSubmissionForStudent(assignment.Id, student.Id); if (result == null) { ViewData[student.FirstName + student.LastName] = 0.0; } else { ViewData[student.FirstName + student.LastName] = result.Grade; } } return(View(students)); }
public IActionResult StudentHome(User user) { StudentDataService studentDataService = new StudentDataService(dbContext); student = studentDataService.GetStudentByUsername(UserManager.GetUserName(User)); ViewData["Id"] = student.Id; StudentClassDataService studentClassDataService = new StudentClassDataService(dbContext); var classes = studentClassDataService.GetClassesByStudentId(student.Id); return(View(classes)); }
public async Task <IActionResult> LeaveClass(bool confirm, int classId) { StudentClassDataService studentClassDataService = new StudentClassDataService(dbContext); StudentDataService studentDataService = new StudentDataService(dbContext); ClassDataService classDataService = new ClassDataService(dbContext); student = studentDataService.GetStudentByUsername(UserManager.GetUserName(User)); Class c = classDataService.GetClassById(classId); studentClassDataService.RemoveStudentClass(student, c); await dbContext.SaveChangesAsync(); return(RedirectToAction("StudentHome", "Student")); }
public async Task <IActionResult> JoinClass(string ClassKey) { ClassDataService classDataService = new ClassDataService(dbContext); StudentDataService studentDataService = new StudentDataService(dbContext); student = studentDataService.GetStudentByUsername(UserManager.GetUserName(User)); Class c = classDataService.GetClassByKey(ClassKey); if (c != null) { StudentClassDataService studentClassDataService = new StudentClassDataService(dbContext); bool inClass = studentClassDataService.InClass(student, c); if (!inClass) { studentClassDataService.AddStudentClass(student, c); await dbContext.SaveChangesAsync(); } } return(RedirectToAction("StudentHome", "Student")); }