package kornell.gui.client.personnel;
import kornell.core.entity.Enrollment;
import kornell.core.entity.EnrollmentCategory;
import kornell.core.entity.EnrollmentProgress;
import kornell.core.to.CourseClassTO;
import kornell.core.to.UserInfoTO;
import kornell.gui.client.entity.EntitiesC;
public class StudentImpl implements Student {
private CourseClassTO courseClassTO;
public StudentImpl(CourseClassTO courseClassTO, UserInfoTO userInfoTO) {
this.courseClassTO = courseClassTO;
}
@Override
public boolean isEnrolled() {
return courseClassTO.getEnrollment() != null;
}
@Override
public EnrollmentProgress getEnrollmentProgress() {
if (courseClassTO.getEnrollment().getProgress() != null) {
return enrollmentProgressOf(courseClassTO.getEnrollment());
} else
return null;
}
private EnrollmentProgress enrollmentProgressOf(Enrollment enrollment) {
Integer progress = enrollment.getProgress();
EnrollmentProgress ep = EntitiesC.get().newEnrollmentProgress();
if (progress != null) {
if (progress <= 0) {
ep.setProgress(0);
} else if (progress >= 100) {
ep.setProgress(100);
} else {
ep.setProgress(progress);
}
ep.setDescription(EnrollmentCategory.getEnrollmentProgressDescription(courseClassTO.getEnrollment()));
ep.setCertifiedAt(enrollment.getCertifiedAt());
return ep;
} else
return null;
}
}