// <summary> // creates an assignment // </summary> public void CreateAssignment(AssignmentCreationViewModel newAssignmentViewModel) { Assignment newAssignment = new Assignment { CourseInstanceId = newAssignmentViewModel.CourseInstanceId, Name = newAssignmentViewModel.Name, Description = newAssignmentViewModel.Description }; var assignment = _db.Assignments.Add(newAssignment); foreach (int problemId in newAssignmentViewModel.AssignmentProblemIds) { AssignmentProblem AssignmentProblemRelation = new AssignmentProblem() { AssignmentId = assignment.Id, ProblemId = problemId }; _db.AssignmentProblems.Add(AssignmentProblemRelation); } ; try { _db.SaveChanges(); } catch (Exception e) { return; } }
/// <summary> /// Update assignment information via TeacherCreateAssignmentViewModel /// </summary> public bool UpdateAssignment(TeacherCreateAssignmentViewModel assignment) { var dbAssignment = _db.Assignments.SingleOrDefault(x => x.Id == assignment.Id); if (dbAssignment != null) { dbAssignment.Description = assignment.Description; dbAssignment.Name = assignment.Name; dbAssignment.EndTime = DateTime.Parse(assignment.EndTime); dbAssignment.StartTime = DateTime.Parse(assignment.StartTime); dbAssignment.MaxCollaborators = assignment.MaxCollaborators; // Remove problems foreach (var assignmentProblem in _db.AssignmentProblems.Where(x => x.AssignmentId == assignment.Id)) { var found = assignment.Problems.Any(problem => assignmentProblem.ProblemId == problem.ProblemId); if (!found) { RemoveProblemFromAssignmentByIds(assignmentProblem.AssignmentId, assignmentProblem.ProblemId); } } // Add/Edit existing problems foreach (var problem in assignment.Problems) { var dbAssignmentProblem = _db.AssignmentProblems.SingleOrDefault(x => x.AssignmentId == assignment.Id && x.ProblemId == problem.ProblemId); if (dbAssignmentProblem != null) { dbAssignmentProblem.MaxSubmissions = problem.MaxSubmissions; dbAssignmentProblem.Weight = (byte)problem.Weight; } else { var newAssignmentProblem = new AssignmentProblem { ProblemId = problem.ProblemId, AssignmentId = assignment.Id, Weight = (byte)problem.Weight, MaxSubmissions = problem.MaxSubmissions }; _db.AssignmentProblems.Add(newAssignmentProblem); } } try { _db.SaveChanges(); return(true); } catch (Exception e) { return(false); } } return(false); }
/// <summary> /// Create a new assignment via TeacherCreateAssignmentViewModel /// </summary> public bool CreateNewAssignment(TeacherCreateAssignmentViewModel assignment) { var newAssignment = new Assignment { CourseInstanceId = assignment.CourseInstanceId, Description = assignment.Description, EndTime = DateTime.Parse(assignment.EndTime), StartTime = DateTime.Parse(assignment.StartTime), Name = assignment.Name, MaxCollaborators = assignment.MaxCollaborators, IsGraded = false }; newAssignment = _db.Assignments.Add(newAssignment); foreach (var assignmentProblem in assignment.Problems) { var problem = _db.Problems.SingleOrDefault(x => x.Id == assignmentProblem.ProblemId); if (problem == null) { continue; } var newAssignmentProblem = new AssignmentProblem { ProblemId = problem.Id, AssignmentId = newAssignment.Id, Weight = (byte)assignmentProblem.Weight, MaxSubmissions = assignmentProblem.MaxSubmissions }; _db.AssignmentProblems.Add(newAssignmentProblem); } var students = _courseService.GetAllStudentsInCourseInstance(newAssignment.CourseInstanceId); // Create groups for students var count = 1; foreach (var student in students) { _db.AssignmentGroups.Add(new AssignmentGroup { UserId = student.Id, AssignmentId = newAssignment.Id, GroupNumber = count }); count++; } try { _db.SaveChanges(); return(true); } catch (Exception e) { return(false); } }
/**/ public static void main(string[] strarr) { In @in = new In(strarr[0]); int num = @in.readInt(); int arg_23_0 = num; int arg_1E_0 = num; int[] array = new int[2]; int num2 = arg_1E_0; array[1] = num2; num2 = arg_23_0; array[0] = num2; double[][] array2 = (double[][])ByteCodeHelper.multianewarray(typeof(double[][]).TypeHandle, array); for (int i = 0; i < num; i++) { for (int j = 0; j < num; j++) { array2[i][j] = @in.readDouble(); } } AssignmentProblem assignmentProblem = new AssignmentProblem(array2); StdOut.println(new StringBuilder().append("weight = ").append(assignmentProblem.weight()).toString()); for (int j = 0; j < num; j++) { StdOut.println(new StringBuilder().append(j).append("-").append(assignmentProblem.sol(j)).append("' ").append(array2[j][assignmentProblem.sol(j)]).toString()); } for (int j = 0; j < num; j++) { StdOut.println(new StringBuilder().append("px[").append(j).append("] = ").append(assignmentProblem.dualRow(j)).toString()); } for (int j = 0; j < num; j++) { StdOut.println(new StringBuilder().append("py[").append(j).append("] = ").append(assignmentProblem.dualCol(j)).toString()); } for (int j = 0; j < num; j++) { for (int k = 0; k < num; k++) { StdOut.println(new StringBuilder().append("reduced[").append(j).append("-").append(k).append("] = ").append(assignmentProblem.reduced(j, k)).toString()); } } }
public IActionResult Post([FromBody] AssignmentProblem assignmentProblem) { if (ModelState.IsValid) { try { AssignmentProblemService assignmentProblemService = new AssignmentProblemService(); var result = assignmentProblemService.FindAssignments(assignmentProblem.Values); var json = JsonConvert.SerializeObject(result); return(Ok(json)); } catch (Exception exception) { Console.WriteLine(exception.Message); return(StatusCode(StatusCodes.Status500InternalServerError)); } } return(UnprocessableEntity()); }