use of de.tum.in.www1.artemis.domain.exam.StudentExam in project Artemis by ls1intum.
the class DatabaseUtilService method addActiveExamWithRegisteredUser.
public Exam addActiveExamWithRegisteredUser(Course course, User user) {
Exam exam = ModelFactory.generateExam(course);
exam.setStartDate(ZonedDateTime.now().minusHours(1));
exam.setEndDate(ZonedDateTime.now().plusHours(1));
exam.addRegisteredUser(user);
examRepository.save(exam);
var studentExam = new StudentExam();
studentExam.setExam(exam);
studentExam.setTestRun(false);
studentExam.setUser(user);
studentExam.setWorkingTime((int) Duration.between(exam.getStartDate(), exam.getEndDate()).toSeconds());
studentExamRepository.save(studentExam);
return exam;
}
use of de.tum.in.www1.artemis.domain.exam.StudentExam in project Artemis by ls1intum.
the class DatabaseUtilService method generateTestRunForInstructor.
public StudentExam generateTestRunForInstructor(Exam exam, User instructor, List<Exercise> exercises) {
var testRun = ModelFactory.generateExamTestRun(exam);
testRun.setUser(instructor);
examRepository.findWithExerciseGroupsAndExercisesById(exam.getId()).get();
for (final var exercise : exercises) {
testRun.addExercise(exercise);
assertThat(exercise.isExamExercise()).isTrue();
Submission submission;
if (exercise instanceof ModelingExercise) {
submission = addModelingSubmission((ModelingExercise) exercise, ModelFactory.generateModelingSubmission("", false), instructor.getLogin());
} else if (exercise instanceof TextExercise) {
submission = saveTextSubmission((TextExercise) exercise, ModelFactory.generateTextSubmission("", null, false), instructor.getLogin());
} else {
submission = new ProgrammingSubmission().submitted(true);
addProgrammingSubmission((ProgrammingExercise) exercise, (ProgrammingSubmission) submission, instructor.getLogin());
submission = submissionRepository.save(submission);
}
var studentParticipation = (StudentParticipation) submission.getParticipation();
studentParticipation.setTestRun(true);
studentParticipationRepo.save(studentParticipation);
}
return testRun;
}
use of de.tum.in.www1.artemis.domain.exam.StudentExam in project Artemis by ls1intum.
the class DatabaseUtilService method addStudentExam.
public StudentExam addStudentExam(Exam exam) {
StudentExam studentExam = ModelFactory.generateStudentExam(exam);
studentExamRepository.save(studentExam);
return studentExam;
}
use of de.tum.in.www1.artemis.domain.exam.StudentExam in project ArTEMiS by ls1intum.
the class DatabaseUtilService method generateTestRunForInstructor.
public StudentExam generateTestRunForInstructor(Exam exam, User instructor, List<Exercise> exercises) {
var testRun = ModelFactory.generateExamTestRun(exam);
testRun.setUser(instructor);
examRepository.findWithExerciseGroupsAndExercisesById(exam.getId()).get();
for (final var exercise : exercises) {
testRun.addExercise(exercise);
assertThat(exercise.isExamExercise()).isTrue();
Submission submission;
if (exercise instanceof ModelingExercise) {
submission = addModelingSubmission((ModelingExercise) exercise, ModelFactory.generateModelingSubmission("", false), instructor.getLogin());
} else if (exercise instanceof TextExercise) {
submission = saveTextSubmission((TextExercise) exercise, ModelFactory.generateTextSubmission("", null, false), instructor.getLogin());
} else {
submission = new ProgrammingSubmission().submitted(true);
addProgrammingSubmission((ProgrammingExercise) exercise, (ProgrammingSubmission) submission, instructor.getLogin());
submission = submissionRepository.save(submission);
}
var studentParticipation = (StudentParticipation) submission.getParticipation();
studentParticipation.setTestRun(true);
studentParticipationRepo.save(studentParticipation);
}
return testRun;
}
use of de.tum.in.www1.artemis.domain.exam.StudentExam in project ArTEMiS by ls1intum.
the class DatabaseUtilService method addActiveExamWithRegisteredUser.
public Exam addActiveExamWithRegisteredUser(Course course, User user) {
Exam exam = ModelFactory.generateExam(course);
exam.setStartDate(ZonedDateTime.now().minusHours(1));
exam.setEndDate(ZonedDateTime.now().plusHours(1));
exam.addRegisteredUser(user);
examRepository.save(exam);
var studentExam = new StudentExam();
studentExam.setExam(exam);
studentExam.setTestRun(false);
studentExam.setUser(user);
studentExam.setWorkingTime((int) Duration.between(exam.getStartDate(), exam.getEndDate()).toSeconds());
studentExamRepository.save(studentExam);
return exam;
}
Aggregations