Exemplo n.º 1
0
        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));
        }
Exemplo n.º 2
0
        public async Task <ActionResult> DeleteClass(bool confirm, int classId)
        {
            ClassDataService classDataService = new ClassDataService(dbContext);

            classDataService.DeleteClass(classId);
            await dbContext.SaveChangesAsync();

            return(RedirectToAction("Index", "Home"));
        }
Exemplo n.º 3
0
        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));
        }
Exemplo n.º 4
0
        public async Task <IActionResult> EditClass(EditClassViewModel model)
        {
            ClassDataService classDataService = new ClassDataService(dbContext);

            classDataService.UpdateClass(model);

            await dbContext.SaveChangesAsync();

            return(RedirectToAction("Index", "Home"));
        }
Exemplo n.º 5
0
        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));
        }
Exemplo n.º 6
0
        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));
        }
Exemplo n.º 7
0
        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"));
        }
Exemplo n.º 8
0
        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));
        }
Exemplo n.º 9
0
        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);
        }
Exemplo n.º 10
0
        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"));
        }
Exemplo n.º 11
0
        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"));
        }
Exemplo n.º 12
0
        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"));
        }
Exemplo n.º 13
0
        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"));
        }