package pt.utl.ist.scripts.runOnce;

import net.sourceforge.fenixedu.domain.DegreeCurricularPlan;
import net.sourceforge.fenixedu.domain.Enrolment;
import net.sourceforge.fenixedu.domain.ExecutionSemester;
import net.sourceforge.fenixedu.domain.ExecutionYear;
import net.sourceforge.fenixedu.domain.student.Student;

import org.joda.time.DateTime;

import pt.utl.ist.scripts.commons.AtomicScript;

public class HackEnrolmentDate extends AtomicScript {

    public static void main(String[] args) {
        processWriteTransaction(new HackEnrolmentDate());
        System.exit(0);
    }

    @Override
    protected void run() throws Exception {
        final Student student = Student.readStudentByNumber(new Integer(45652));
        final Enrolment enrolment = student.getDissertationEnrolment();
        final DateTime created = enrolment.getCreationDateDateTime();
        final ExecutionYear executionYear = enrolment.getExecutionYear();
        final ExecutionSemester executionSemester = enrolment.getExecutionPeriod();
        final DegreeCurricularPlan degreeCurricularPlan = enrolment.getDegreeCurricularPlanOfStudent();
        System.out.println("Found dissertation enrolment in: " + degreeCurricularPlan.getName() + " - "
                + executionSemester.getSemester() + "º Sem " + executionYear.getYear() + " created " + created.toString());
        //enrolment.setCreationDateDateTime(created.withDate(2008, 9, 12));
        System.out.println("Done.");
    }

}
