Search in sources :

Example 1 with Date

use of com.remswork.project.alice.model.support.Date in project classify-system by anverliedoit.

the class TeacherDaoImpl method addTeacher.

@Override
public Teacher addTeacher(Teacher teacher, long departmentId) throws TeacherException {
    Session session = sessionFactory.openSession();
    session.beginTransaction();
    try {
        if (teacher == null)
            throw new TeacherDaoException("You tried to add teacher with a null value");
        if (teacher.getFirstName() == null)
            throw new TeacherDaoException("Teacher's first name is required");
        if (teacher.getFirstName().trim().equals(""))
            throw new TeacherDaoException("Teacher can't have an empty first name");
        if (teacher.getLastName() == null)
            throw new TeacherDaoException("Teacher's last name is required");
        if (teacher.getLastName().trim().equals(""))
            throw new TeacherDaoException("Teacher can't have an empty last name");
        if (teacher.getMiddleName() == null)
            throw new TeacherDaoException("Teacher's middle name is required");
        if (teacher.getMiddleName().trim().equals(""))
            throw new TeacherDaoException("Teacher can't have an empty middle name");
        if (teacher.getEmail() == null)
            throw new TeacherDaoException("Teacher's email is required");
        if (teacher.getEmail().trim().equals(""))
            throw new TeacherDaoException("Teacher can't have an empty email");
        if (departmentId > 0) {
            Department department = departmentDao.getDepartmentById(departmentId);
            teacher.setDepartment(department);
        }
        UserDetail userDetail = new UserDetail();
        userDetail.setIsEnabled(true);
        userDetail.setRegistrationDate(new Date().now().toString());
        userDetail.setUsername(teacher.getEmail());
        userDetail.setPassword((teacher.getFirstName() + teacher.getLastName() + "123").toLowerCase());
        userDetail.setUserType(UserDetail.USER_TEACHER);
        teacher.setUserDetail(userDetail);
        teacher = (Teacher) session.merge(teacher);
        session.getTransaction().commit();
        session.close();
        return teacher;
    } catch (TeacherDaoException | DepartmentException e) {
        session.close();
        throw new TeacherException(e.getMessage());
    }
}
Also used : TeacherException(com.remswork.project.alice.exception.TeacherException) DepartmentException(com.remswork.project.alice.exception.DepartmentException) TeacherDaoException(com.remswork.project.alice.dao.exception.TeacherDaoException) Date(com.remswork.project.alice.model.support.Date) Session(org.hibernate.Session)

Example 2 with Date

use of com.remswork.project.alice.model.support.Date in project classify-system by anverliedoit.

the class TeacherDaoImpl method addTeacher.

@Override
public Teacher addTeacher(Teacher teacher) throws TeacherException {
    Session session = sessionFactory.openSession();
    session.beginTransaction();
    try {
        if (teacher == null)
            throw new TeacherDaoException("You tried to add teacher with a null value");
        if (teacher.getFirstName() == null)
            throw new TeacherDaoException("Teacher's first name is required");
        if (teacher.getFirstName().trim().equals(""))
            throw new TeacherDaoException("Teacher can't have an empty first name");
        if (teacher.getLastName() == null)
            throw new TeacherDaoException("Teacher's last name is required");
        if (teacher.getLastName().trim().equals(""))
            throw new TeacherDaoException("Teacher can't have an empty last name");
        if (teacher.getMiddleName() == null)
            throw new TeacherDaoException("Teacher's middle name is required");
        if (teacher.getMiddleName().trim().equals(""))
            throw new TeacherDaoException("Teacher can't have an empty middle name");
        if (teacher.getEmail() == null)
            throw new TeacherDaoException("Teacher's email is required");
        if (teacher.getEmail().trim().equals(""))
            throw new TeacherDaoException("Teacher can't have an empty email");
        if (teacher.getDepartment() != null) {
            Department department = teacher.getDepartment();
            if (department.getName() == null)
                throw new TeacherDaoException("Teacher's department name is required");
            if (department.getName().trim().equals(""))
                throw new TeacherDaoException("Teacher's department can't have an empty name");
            if (department.getDescription() == null)
                throw new TeacherDaoException("Teacher's department description is required");
            if (department.getDescription().trim().equals(""))
                throw new TeacherDaoException("Teacher's department can't have an empty description");
        }
        UserDetail userDetail = new UserDetail();
        userDetail.setIsEnabled(true);
        userDetail.setRegistrationDate(new Date().now().toString());
        userDetail.setUsername(teacher.getEmail());
        userDetail.setPassword((teacher.getFirstName() + teacher.getLastName() + "123").toLowerCase());
        userDetail.setUserType(UserDetail.USER_TEACHER);
        teacher.setUserDetail(userDetail);
        session.persist(teacher);
        session.getTransaction().commit();
        session.close();
        return teacher;
    } catch (TeacherDaoException e) {
        session.close();
        throw new TeacherException(e.getMessage());
    }
}
Also used : TeacherException(com.remswork.project.alice.exception.TeacherException) TeacherDaoException(com.remswork.project.alice.dao.exception.TeacherDaoException) Date(com.remswork.project.alice.model.support.Date) Session(org.hibernate.Session)

Aggregations

TeacherDaoException (com.remswork.project.alice.dao.exception.TeacherDaoException)2 TeacherException (com.remswork.project.alice.exception.TeacherException)2 Date (com.remswork.project.alice.model.support.Date)2 Session (org.hibernate.Session)2 DepartmentException (com.remswork.project.alice.exception.DepartmentException)1