Search in sources :

Example 26 with PersonDAO

use of fi.otavanopisto.pyramus.dao.base.PersonDAO in project pyramus by otavanopisto.

the class PersonAPI method create.

public Long create(Date birthday, String socialSecurityNumber, String sex, String basicInfo, boolean secureInfo) {
    PersonDAO personDAO = DAOFactory.getInstance().getPersonDAO();
    Sex sexEntity;
    if ("m".equals(sex)) {
        sexEntity = Sex.MALE;
    } else if ("f".equals(sex)) {
        sexEntity = Sex.FEMALE;
    } else if ("o".equals(sex)) {
        sexEntity = Sex.OTHER;
    } else {
        throw new IllegalArgumentException("sex must be \"m\" or \"f\" or \"o\"");
    }
    Person person = personDAO.create(birthday, socialSecurityNumber, sexEntity, basicInfo, secureInfo);
    return person.getId();
}
Also used : PersonDAO(fi.otavanopisto.pyramus.dao.base.PersonDAO) Sex(fi.otavanopisto.pyramus.domainmodel.students.Sex) Person(fi.otavanopisto.pyramus.domainmodel.base.Person)

Example 27 with PersonDAO

use of fi.otavanopisto.pyramus.dao.base.PersonDAO in project pyramus by otavanopisto.

the class StaffMemberAPI method create.

public Long create(String firstName, String lastName, String role, Long personId, Long organizationId) throws InvalidScriptException {
    StaffMemberDAO staffMemberDAO = DAOFactory.getInstance().getStaffMemberDAO();
    PersonDAO personDAO = DAOFactory.getInstance().getPersonDAO();
    OrganizationDAO organizationDAO = DAOFactory.getInstance().getOrganizationDAO();
    Person person = personDAO.findById(personId);
    if (person == null) {
        throw new InvalidScriptException("Person not found");
    }
    Organization organization = organizationId != null ? organizationDAO.findById(organizationId) : null;
    if (organization == null) {
        throw new InvalidScriptException("Organization not found");
    }
    StaffMember staffMember = staffMemberDAO.create(organization, firstName, lastName, Role.valueOf(role), person, false);
    if (staffMember == null) {
        throw new InvalidScriptException("Failed to create new staff member");
    } else {
        if (person.getDefaultUser() == null) {
            personDAO.updateDefaultUser(person, staffMember);
        }
        return staffMember.getId();
    }
}
Also used : PersonDAO(fi.otavanopisto.pyramus.dao.base.PersonDAO) StaffMemberDAO(fi.otavanopisto.pyramus.dao.users.StaffMemberDAO) Organization(fi.otavanopisto.pyramus.domainmodel.base.Organization) InvalidScriptException(fi.otavanopisto.pyramus.util.dataimport.scripting.InvalidScriptException) StaffMember(fi.otavanopisto.pyramus.domainmodel.users.StaffMember) OrganizationDAO(fi.otavanopisto.pyramus.dao.base.OrganizationDAO) Person(fi.otavanopisto.pyramus.domainmodel.base.Person)

Example 28 with PersonDAO

use of fi.otavanopisto.pyramus.dao.base.PersonDAO in project pyramus by otavanopisto.

the class StaffMemberAPI method addEmail.

public void addEmail(Long staffMemberId, Long contactTypeId, String address, Boolean defaultAddress) throws InvalidScriptException {
    StaffMemberDAO staffMemberDAO = DAOFactory.getInstance().getStaffMemberDAO();
    EmailDAO emailDAO = DAOFactory.getInstance().getEmailDAO();
    PersonDAO personDAO = DAOFactory.getInstance().getPersonDAO();
    ContactTypeDAO contactTypeDAO = DAOFactory.getInstance().getContactTypeDAO();
    address = address != null ? address.trim() : null;
    ContactType contactType = contactTypeDAO.findById(contactTypeId);
    if (contactType == null) {
        throw new InvalidScriptException("ContactType could not be found");
    }
    StaffMember staffMember = staffMemberDAO.findById(staffMemberId);
    if (staffMember == null) {
        throw new InvalidScriptException("StaffMember could not be found");
    }
    Person person = personDAO.findByUniqueEmail(address);
    if (person != null) {
        if (!staffMember.getPerson().getId().equals(person.getId())) {
            throw new InvalidScriptException("Email is already defined for another user");
        }
        StaffMember emailStaffMember = staffMemberDAO.findByUniqueEmail(address);
        if (emailStaffMember != null && emailStaffMember.getId().equals(staffMemberId)) {
            throw new InvalidScriptException("Email is already defined for this staff member");
        }
    }
    emailDAO.create(staffMember.getContactInfo(), contactType, defaultAddress, address);
}
Also used : PersonDAO(fi.otavanopisto.pyramus.dao.base.PersonDAO) StaffMemberDAO(fi.otavanopisto.pyramus.dao.users.StaffMemberDAO) ContactType(fi.otavanopisto.pyramus.domainmodel.base.ContactType) InvalidScriptException(fi.otavanopisto.pyramus.util.dataimport.scripting.InvalidScriptException) ContactTypeDAO(fi.otavanopisto.pyramus.dao.base.ContactTypeDAO) StaffMember(fi.otavanopisto.pyramus.domainmodel.users.StaffMember) Person(fi.otavanopisto.pyramus.domainmodel.base.Person) EmailDAO(fi.otavanopisto.pyramus.dao.base.EmailDAO)

Example 29 with PersonDAO

use of fi.otavanopisto.pyramus.dao.base.PersonDAO in project pyramus by otavanopisto.

the class StudentAPI method create.

public Long create(Long personId, String firstName, String lastName, String email, Long emailContactTypeId, String nickname, String additionalInfo, Date studyTimeEnd, Long activityType, Long examinationType, Long educationalLevel, String education, Long nationality, Long municipality, Long language, Long schoolId, Long studyProgrammeId, Double previousStudies, Date studyStartDate, Date studyEndDate, Long studyEndReasonId, String studyEndText, boolean lodging) throws InvalidScriptException {
    StudentDAO studentDAO = DAOFactory.getInstance().getStudentDAO();
    EmailDAO emailDAO = DAOFactory.getInstance().getEmailDAO();
    ContactTypeDAO contactTypeDAO = DAOFactory.getInstance().getContactTypeDAO();
    PersonDAO personDAO = DAOFactory.getInstance().getPersonDAO();
    StudentLodgingPeriodDAO studentLodgingPeriodDAO = DAOFactory.getInstance().getStudentLodgingPeriodDAO();
    UserVariableDAO userVariableDAO = DAOFactory.getInstance().getUserVariableDAO();
    email = email != null ? email.trim() : null;
    Person personEntity = null;
    if (personId != null) {
        personEntity = personDAO.findById(personId);
    }
    StudentActivityType activityTypeEntity = null;
    if (activityType != null) {
        activityTypeEntity = DAOFactory.getInstance().getStudentActivityTypeDAO().findById(activityType);
    }
    StudentExaminationType examinationTypeEntity = null;
    if (examinationType != null) {
        examinationTypeEntity = DAOFactory.getInstance().getStudentExaminationTypeDAO().findById(examinationType);
    }
    StudentEducationalLevel educationalLevelEntity = null;
    if (educationalLevel != null) {
        educationalLevelEntity = DAOFactory.getInstance().getStudentEducationalLevelDAO().findById(educationalLevel);
    }
    Nationality nationalityEntity = null;
    if (nationality != null) {
        nationalityEntity = DAOFactory.getInstance().getNationalityDAO().findById(nationality);
    }
    Municipality municipalityEntity = null;
    if (municipality != null) {
        municipalityEntity = DAOFactory.getInstance().getMunicipalityDAO().findById(municipality);
    }
    Language languageEntity = null;
    if (language != null) {
        languageEntity = DAOFactory.getInstance().getLanguageDAO().findById(language);
    }
    School school = null;
    if (schoolId != null) {
        school = DAOFactory.getInstance().getSchoolDAO().findById(schoolId);
    }
    StudyProgramme studyProgramme = null;
    if (studyProgrammeId != null) {
        studyProgramme = DAOFactory.getInstance().getStudyProgrammeDAO().findById(studyProgrammeId);
    }
    StudentStudyEndReason studyEndReason = null;
    if (studyEndReasonId != null) {
        studyEndReason = DAOFactory.getInstance().getStudentStudyEndReasonDAO().findById(studyEndReasonId);
    }
    firstName = StringUtils.trim(firstName);
    lastName = StringUtils.trim(lastName);
    nickname = StringUtils.trim(nickname);
    Student student = studentDAO.create(personEntity, firstName, lastName, nickname, additionalInfo, studyTimeEnd, activityTypeEntity, examinationTypeEntity, educationalLevelEntity, education, nationalityEntity, municipalityEntity, languageEntity, school, studyProgramme, null, previousStudies, studyStartDate, studyEndDate, studyEndReason, studyEndText, false);
    userVariableDAO.createDefaultValueVariables(student);
    if (lodging && studyStartDate != null)
        studentLodgingPeriodDAO.create(student, studyStartDate, studyEndDate);
    if (personEntity.getDefaultUser() == null) {
        personDAO.updateDefaultUser(personEntity, student);
    }
    if (StringUtils.isNotBlank(email)) {
        ContactType emailContactType = contactTypeDAO.findById(emailContactTypeId);
        if (emailContactType == null) {
            throw new InvalidScriptException("Could not find contact type for email");
        }
        emailDAO.create(student.getContactInfo(), emailContactType, true, email);
    }
    return student.getId();
}
Also used : Municipality(fi.otavanopisto.pyramus.domainmodel.base.Municipality) ContactType(fi.otavanopisto.pyramus.domainmodel.base.ContactType) StudyProgramme(fi.otavanopisto.pyramus.domainmodel.base.StudyProgramme) InvalidScriptException(fi.otavanopisto.pyramus.util.dataimport.scripting.InvalidScriptException) StudentExaminationType(fi.otavanopisto.pyramus.domainmodel.students.StudentExaminationType) StudentStudyEndReason(fi.otavanopisto.pyramus.domainmodel.students.StudentStudyEndReason) StudentEducationalLevel(fi.otavanopisto.pyramus.domainmodel.students.StudentEducationalLevel) Student(fi.otavanopisto.pyramus.domainmodel.students.Student) EmailDAO(fi.otavanopisto.pyramus.dao.base.EmailDAO) StudentLodgingPeriodDAO(fi.otavanopisto.pyramus.dao.students.StudentLodgingPeriodDAO) Nationality(fi.otavanopisto.pyramus.domainmodel.base.Nationality) StudentDAO(fi.otavanopisto.pyramus.dao.students.StudentDAO) PersonDAO(fi.otavanopisto.pyramus.dao.base.PersonDAO) School(fi.otavanopisto.pyramus.domainmodel.base.School) Language(fi.otavanopisto.pyramus.domainmodel.base.Language) UserVariableDAO(fi.otavanopisto.pyramus.dao.users.UserVariableDAO) StudentActivityType(fi.otavanopisto.pyramus.domainmodel.students.StudentActivityType) ContactTypeDAO(fi.otavanopisto.pyramus.dao.base.ContactTypeDAO) Person(fi.otavanopisto.pyramus.domainmodel.base.Person)

Example 30 with PersonDAO

use of fi.otavanopisto.pyramus.dao.base.PersonDAO in project pyramus by otavanopisto.

the class PersonAPI method findIdByEmail.

public Long findIdByEmail(String email) {
    PersonDAO personDAO = DAOFactory.getInstance().getPersonDAO();
    // Trim the email address
    email = email != null ? email.trim() : null;
    Person person = personDAO.findByUniqueEmail(email);
    if (person != null) {
        return person.getId();
    }
    return null;
}
Also used : PersonDAO(fi.otavanopisto.pyramus.dao.base.PersonDAO) Person(fi.otavanopisto.pyramus.domainmodel.base.Person)

Aggregations

PersonDAO (fi.otavanopisto.pyramus.dao.base.PersonDAO)47 Person (fi.otavanopisto.pyramus.domainmodel.base.Person)42 Student (fi.otavanopisto.pyramus.domainmodel.students.Student)25 StudentDAO (fi.otavanopisto.pyramus.dao.students.StudentDAO)21 StaffMemberDAO (fi.otavanopisto.pyramus.dao.users.StaffMemberDAO)17 StaffMember (fi.otavanopisto.pyramus.domainmodel.users.StaffMember)14 User (fi.otavanopisto.pyramus.domainmodel.users.User)14 HashMap (java.util.HashMap)12 EmailDAO (fi.otavanopisto.pyramus.dao.base.EmailDAO)11 ContactTypeDAO (fi.otavanopisto.pyramus.dao.base.ContactTypeDAO)10 UserVariableDAO (fi.otavanopisto.pyramus.dao.users.UserVariableDAO)10 ContactType (fi.otavanopisto.pyramus.domainmodel.base.ContactType)10 StudyProgramme (fi.otavanopisto.pyramus.domainmodel.base.StudyProgramme)10 UserDAO (fi.otavanopisto.pyramus.dao.users.UserDAO)9 Language (fi.otavanopisto.pyramus.domainmodel.base.Language)9 Municipality (fi.otavanopisto.pyramus.domainmodel.base.Municipality)9 Nationality (fi.otavanopisto.pyramus.domainmodel.base.Nationality)9 School (fi.otavanopisto.pyramus.domainmodel.base.School)9 PhoneNumberDAO (fi.otavanopisto.pyramus.dao.base.PhoneNumberDAO)8 StudyProgrammeDAO (fi.otavanopisto.pyramus.dao.base.StudyProgrammeDAO)8