Package org.fenixedu.academic.domain.candidacyProcess.secondCycle

Source Code of org.fenixedu.academic.domain.candidacyProcess.secondCycle.SecondCycleIndividualCandidacyProcessBean

/**
* Copyright © 2002 Instituto Superior Técnico
*
* This file is part of FenixEdu Academic.
*
* FenixEdu Academic is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* FenixEdu Academic is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with FenixEdu Academic.  If not, see <http://www.gnu.org/licenses/>.
*/
package org.fenixedu.academic.domain.candidacyProcess.secondCycle;

import java.util.ArrayList;
import java.util.Collections;
import java.util.HashSet;
import java.util.List;
import java.util.Set;

import org.fenixedu.academic.domain.Degree;
import org.fenixedu.academic.domain.candidacyProcess.CandidacyProcessDocumentUploadBean;
import org.fenixedu.academic.domain.candidacyProcess.FormationBean;
import org.fenixedu.academic.domain.candidacyProcess.IndividualCandidacyDocumentFileType;
import org.fenixedu.academic.domain.candidacyProcess.IndividualCandidacyProcessWithPrecedentDegreeInformationBean;
import org.fenixedu.academic.domain.candidacyProcess.PrecedentDegreeInformationBeanFactory;
import org.fenixedu.academic.domain.degreeStructure.CycleType;
import org.joda.time.LocalDate;

public class SecondCycleIndividualCandidacyProcessBean extends IndividualCandidacyProcessWithPrecedentDegreeInformationBean {

    private Degree selectedDegree;

    private String professionalStatus;

    private String otherEducation;

    private String istStudentNumber;

    private List<CandidacyProcessDocumentUploadBean> habilitationCertificateList;
    private List<CandidacyProcessDocumentUploadBean> reportOrWorkDocumentList;
    private CandidacyProcessDocumentUploadBean handicapProofDocument;
    private CandidacyProcessDocumentUploadBean curriculumVitaeDocument;

    private Set<Degree> selectedDegreeList;

    private SecondCycleCandidacyProcess copyDestinationProcess;

    public SecondCycleIndividualCandidacyProcessBean() {
        setCandidacyDate(new LocalDate());
        setFormationConcludedBeanList(new ArrayList<FormationBean>());
        initializeDocumentUploadBeans();
        setObservations("");
        setIstStudentNumber("");
        setPrecedentDegreeType(PrecedentDegreeType.EXTERNAL_DEGREE);

        this.selectedDegreeList = new HashSet<Degree>();
    }

    public SecondCycleIndividualCandidacyProcessBean(final SecondCycleIndividualCandidacyProcess process) {
        setIndividualCandidacyProcess(process);
        setCandidacyProcess(process.getCandidacyProcess());
        setProfessionalStatus(process.getCandidacyProfessionalStatus());
        setOtherEducation(process.getCandidacyOtherEducation());
        setPrecedentDegreeInformation(PrecedentDegreeInformationBeanFactory.createBean(process.getCandidacy()));
        setPrecedentDegreeType(PrecedentDegreeType.valueOf(process.getPrecedentDegreeInformation()));
        setCandidacyDate(process.getCandidacyDate());
        initializeFormation(process.getCandidacy().getFormationsSet());
        setObservations(process.getCandidacy().getObservations());
        setIstStudentNumber(process.getCandidacy().getFormerStudentNumber());
        setProcessChecked(process.getProcessChecked());
        setPaymentChecked(process.getPaymentChecked());

        this.selectedDegreeList = new HashSet<Degree>();
        this.selectedDegreeList.addAll(process.getSelectedDegrees());
    }

    @Override
    public SecondCycleCandidacyProcess getCandidacyProcess() {
        return (SecondCycleCandidacyProcess) super.getCandidacyProcess();
    }

    public Degree getSelectedDegree() {
        return this.selectedDegree;
    }

    public void setSelectedDegree(Degree selectedDegree) {
        this.selectedDegree = selectedDegree;
    }

    public String getProfessionalStatus() {
        return professionalStatus;
    }

    public void setProfessionalStatus(String professionalStatus) {
        this.professionalStatus = professionalStatus;
    }

    public String getOtherEducation() {
        return otherEducation;
    }

    public void setOtherEducation(String otherEducation) {
        this.otherEducation = otherEducation;
    }

    @Override
    public boolean hasChoosenPerson() {
        return getChoosePersonBean().hasPerson();
    }

    @Override
    public void removeChoosePersonBean() {
        setChoosePersonBean(null);
    }

    @Override
    protected double getMinimumEcts(final CycleType cycleType) {
        if (!cycleType.equals(CycleType.FIRST_CYCLE)) {
            throw new IllegalArgumentException();
        }
        return 150d;
    }

    @Override
    protected List<CycleType> getValidPrecedentCycleTypes() {
        return Collections.singletonList(CycleType.FIRST_CYCLE);
    }

    @Override
    protected boolean isPreBolonhaPrecedentDegreeAllowed() {
        return true;
    }

    public List<CandidacyProcessDocumentUploadBean> getHabilitationCertificateList() {
        return habilitationCertificateList;
    }

    public void setHabilitationCertificateList(List<CandidacyProcessDocumentUploadBean> habilitationCertificateList) {
        this.habilitationCertificateList = habilitationCertificateList;
    }

    public List<CandidacyProcessDocumentUploadBean> getReportOrWorkDocumentList() {
        return reportOrWorkDocumentList;
    }

    public void setReportOrWorkDocumentList(List<CandidacyProcessDocumentUploadBean> reportOrWorkDocumentList) {
        this.reportOrWorkDocumentList = reportOrWorkDocumentList;
    }

    public CandidacyProcessDocumentUploadBean getHandicapProofDocument() {
        return handicapProofDocument;
    }

    public void setHandicapProofDocument(CandidacyProcessDocumentUploadBean handicapProofDocument) {
        this.handicapProofDocument = handicapProofDocument;
    }

    public CandidacyProcessDocumentUploadBean getCurriculumVitaeDocument() {
        return curriculumVitaeDocument;
    }

    public void setCurriculumVitaeDocument(CandidacyProcessDocumentUploadBean curriculumVitaeDocument) {
        this.curriculumVitaeDocument = curriculumVitaeDocument;
    }

    public void addHabilitationCertificateDocument() {
        this.habilitationCertificateList.add(new CandidacyProcessDocumentUploadBean(
                IndividualCandidacyDocumentFileType.HABILITATION_CERTIFICATE_DOCUMENT));
    }

    public void removeHabilitationCertificateDocument(final int index) {
        this.habilitationCertificateList.remove(index);
    }

    public void addReportOrWorkDocument() {
        this.reportOrWorkDocumentList.add(new CandidacyProcessDocumentUploadBean(
                IndividualCandidacyDocumentFileType.REPORT_OR_WORK_DOCUMENT));
    }

    public void removeReportOrWorkDocument(final int index) {
        this.reportOrWorkDocumentList.remove(index);
    }

    public String getIstStudentNumber() {
        return this.istStudentNumber;
    }

    public void setIstStudentNumber(String value) {
        this.istStudentNumber = value;
    }

    @Override
    public void initializeDocumentUploadBeans() {
        setDocumentIdentificationDocument(new CandidacyProcessDocumentUploadBean(
                IndividualCandidacyDocumentFileType.DOCUMENT_IDENTIFICATION));
        setPaymentDocument(new CandidacyProcessDocumentUploadBean(IndividualCandidacyDocumentFileType.PAYMENT_DOCUMENT));
        setVatCatCopyDocument(new CandidacyProcessDocumentUploadBean(IndividualCandidacyDocumentFileType.VAT_CARD_DOCUMENT));

        this.habilitationCertificateList = new ArrayList<CandidacyProcessDocumentUploadBean>();
        addHabilitationCertificateDocument();

        this.reportOrWorkDocumentList = new ArrayList<CandidacyProcessDocumentUploadBean>();
        addReportOrWorkDocument();

        this.handicapProofDocument =
                new CandidacyProcessDocumentUploadBean(IndividualCandidacyDocumentFileType.HANDICAP_PROOF_DOCUMENT);
        this.curriculumVitaeDocument = new CandidacyProcessDocumentUploadBean(IndividualCandidacyDocumentFileType.CV_DOCUMENT);
        setPhotoDocument(new CandidacyProcessDocumentUploadBean(IndividualCandidacyDocumentFileType.PHOTO));
    }

    public Set<Degree> getSelectedDegreeList() {
        return this.selectedDegreeList;
    }

    public void setSelectedDegreeList(final Set<Degree> selectedDegreeList) {
        this.selectedDegreeList = selectedDegreeList;
    }

    public void addSelectedDegree(final Degree degree) {
        this.selectedDegreeList.add(degree);
    }

    public void removeSelectedDegree(final Degree degree) {
        this.selectedDegreeList.remove(degree);
    }

    @Override
    public boolean isSecondCycle() {
        return true;
    }

    public List<Degree> getAvailableDegrees() {
        final SecondCycleCandidacyProcess candidacyProcess = getCandidacyProcess();
        return candidacyProcess.getAvailableDegrees();
    }

    public SecondCycleCandidacyProcess getCopyDestinationProcess() {
        return copyDestinationProcess;
    }

    public void setCopyDestinationProcess(SecondCycleCandidacyProcess copyDestinationProcess) {
        this.copyDestinationProcess = copyDestinationProcess;
    }

}
TOP

Related Classes of org.fenixedu.academic.domain.candidacyProcess.secondCycle.SecondCycleIndividualCandidacyProcessBean

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.