示例#1
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"));
        }
示例#2
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"));
        }