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 async Task <ActionResult> DeleteClass(bool confirm, int classId) { ClassDataService classDataService = new ClassDataService(dbContext); classDataService.DeleteClass(classId); await dbContext.SaveChangesAsync(); return(RedirectToAction("Index", "Home")); }
public IActionResult InstructorHome(User user) { ClassDataService classDataService = new ClassDataService(dbContext); IEnumerable <Class> classes = classDataService.GetClassesByInstuctorId(Convert.ToInt32(user.Id)); ViewData.Add("InstructorId", user.Id); return(View(classes)); }
public async Task <IActionResult> EditClass(EditClassViewModel model) { ClassDataService classDataService = new ClassDataService(dbContext); classDataService.UpdateClass(model); await dbContext.SaveChangesAsync(); return(RedirectToAction("Index", "Home")); }
public IActionResult Details(int id) { ClassDataService classDataService = new ClassDataService(dbContext); Class c = classDataService.GetClassById(id); AssignmentDataService assignmentDataService = new AssignmentDataService(dbContext); var list = assignmentDataService.GetAssignments().Where(e => e.ClassId == c.Id).Reverse(); ViewData["Assignments"] = list; return(View(c)); }
public IActionResult EditClass(int id) { ClassDataService classDataService = new ClassDataService(dbContext); Class c = classDataService.GetClassById(id); EditClassViewModel model = new EditClassViewModel() { Name = c.Name, ClassId = c.Id }; return(View(model)); }
public async Task <IActionResult> CreateClass(ClassViewModel model) { if (ModelState.IsValid) { Class thisClass = new Class(model); ClassDataService classDataService = new ClassDataService(dbContext); classDataService.AddClass(thisClass); } await dbContext.SaveChangesAsync(); return(RedirectToAction("Index", "Home")); }
public IActionResult AddExistingAssignment(int classId, int instructorId) { AssignmentDataService assignmentDataService = new AssignmentDataService(dbContext); var assignments = assignmentDataService.GetAssignmentsByInstructorId(instructorId).Reverse(); ClassDataService classDataService = new ClassDataService(dbContext); var c = classDataService.GetClassById(classId); ViewData["ClassName"] = c.Name; ViewData["ClassId"] = c.Id; return(View(assignments)); }
public IEnumerable <Class> GetClassesByStudentId(int studentId) { var studentClasses = autoGraderDbContext.StudentClasses.Where(e => e.StudentId == studentId).ToList(); List <Class> classes = new List <Class>(); ClassDataService classDataService = new ClassDataService(autoGraderDbContext); foreach (var item in studentClasses) { item.Class = classDataService.GetClassById(item.ClassId); classes.Add(item.Class); } return(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> CreateAssignment(AssignmentViewModel model) { if (ModelState.IsValid) { Assignment assignment = new Assignment(model); AssignmentDataService assignmentDataService = new AssignmentDataService(dbContext); assignmentDataService.AddAssignment(assignment); ClassDataService classDataService = new ClassDataService(dbContext); Class c = classDataService.GetClassById(assignment.ClassId); c.Assignments.Add(assignment); } await dbContext.SaveChangesAsync(); return(RedirectToAction("Index", "Home")); }
public async Task <IActionResult> AddSelectedAssignment(int classId, int assignmentId) { AssignmentDataService assignmentDataService = new AssignmentDataService(dbContext); var assignment = assignmentDataService.GetAssignmentById(assignmentId); var newAssignment = new Assignment { Submissions = new List <Submission>(), Name = assignment.Name, StartDate = assignment.StartDate, EndDate = assignment.EndDate, Description = assignment.Description, MemoryLimit = assignment.MemoryLimit, TimeLimit = assignment.TimeLimit, Languages = assignment.Languages, ClassId = classId, }; assignmentDataService.AddAssignment(newAssignment); foreach (var test in assignment.TestCases) { var testCase = new TestCaseSpecification(test); testCase.AssignmentId = newAssignment.Id; newAssignment.TestCases.Add(testCase); } ClassDataService classDataService = new ClassDataService(dbContext); var c = classDataService.GetClassById(classId); c.Assignments.Add(newAssignment); await dbContext.SaveChangesAsync(); return(RedirectToAction("Index", "Home")); }
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")); }