Search in sources :

Example 41 with GradingFactorDaoException

use of com.remswork.project.alice.dao.exception.GradingFactorDaoException in project classify-system by anverliedoit.

the class ActivityDaoImpl method updateActivityById.

@Override
public Activity updateActivityById(long id, Activity newActivity, long classId, long termId) throws GradingFactorException {
    Session session = sessionFactory.openSession();
    session.beginTransaction();
    try {
        Activity activity = session.get(Activity.class, id);
        Class _class = session.get(Class.class, classId);
        Term term = session.get(Term.class, termId);
        if (newActivity == null)
            newActivity = new Activity();
        if (activity == null)
            throw new GradingFactorDaoException("Activity with id : " + id + " does not exist");
        if (_class == null && classId != 0)
            throw new GradingFactorDaoException("Activity's class with id : " + classId + " does not exist");
        if (term == null && termId > 0)
            throw new GradingFactorDaoException("Activity's term with id : " + termId + " does not exist");
        if (!(newActivity.getTitle() != null ? newActivity.getTitle() : "").trim().isEmpty())
            activity.setTitle(newActivity.getTitle());
        if (!(newActivity.getDate() != null ? newActivity.getDate() : "").trim().isEmpty())
            activity.setDate(newActivity.getDate());
        if (classId > 0) {
            if (classId == (activity.get_class() != null ? activity.get_class().getId() : 0))
                throw new GradingFactorDaoException("Activity's  class with id : " + classId + " already exist");
            activity.set_class(_class);
        }
        if (termId > 0) {
            if (termId != (activity.getTerm() != null ? activity.getTerm().getId() : 0))
                activity.setTerm(term);
        }
        session.getTransaction().commit();
        session.close();
        return activity;
    } catch (GradingFactorDaoException e) {
        session.close();
        throw new GradingFactorException(e.getMessage());
    }
}
Also used : GradingFactorException(com.remswork.project.alice.exception.GradingFactorException) Class(com.remswork.project.alice.model.Class) GradingFactorDaoException(com.remswork.project.alice.dao.exception.GradingFactorDaoException) Session(org.hibernate.Session)

Example 42 with GradingFactorDaoException

use of com.remswork.project.alice.dao.exception.GradingFactorDaoException in project classify-system by anverliedoit.

the class ActivityDaoImpl method addActivityResult.

@Override
public ActivityResult addActivityResult(int score, long activityId, long studentId) throws GradingFactorException {
    Session session = sessionFactory.openSession();
    session.beginTransaction();
    try {
        Activity activity = session.get(Activity.class, activityId);
        Student student = session.get(Student.class, studentId);
        ActivityResult result = new ActivityResult();
        String hql = "from ActivityResult as R where R.activity.id = :activityId and R.student.id = :studentId";
        Query query = session.createQuery(hql);
        query.setParameter("activityId", activityId);
        query.setParameter("studentId", studentId);
        if (activity == null)
            throw new GradingFactorDaoException("Activity's activity with id : " + activityId + " does not exist");
        if (student == null)
            throw new GradingFactorDaoException("Activity's student with id : " + studentId + " does not exist");
        if (activityId < 1)
            throw new GradingFactorDaoException("Query param : activityId is required");
        if (studentId < 1)
            throw new GradingFactorDaoException("Query param : studentId is required");
        if (score < 0 && score > activity.getItemTotal())
            throw new GradingFactorDaoException("ActivityResult's score is invalid");
        if (query.list().size() > 0)
            throw new GradingFactorDaoException("ActivityResult's  student with id : " + studentId + " already exist");
        result.setScore(score);
        result.setActivity(activity);
        result.setStudent(student);
        session.persist(result);
        session.getTransaction().commit();
        session.close();
        return result;
    } catch (GradingFactorDaoException e) {
        session.close();
        throw new GradingFactorException(e.getMessage());
    }
}
Also used : Query(org.hibernate.Query) GradingFactorException(com.remswork.project.alice.exception.GradingFactorException) GradingFactorDaoException(com.remswork.project.alice.dao.exception.GradingFactorDaoException) Session(org.hibernate.Session)

Example 43 with GradingFactorDaoException

use of com.remswork.project.alice.dao.exception.GradingFactorDaoException in project classify-system by anverliedoit.

the class ActivityDaoImpl method getActivityListByClassId.

@Override
public List<Activity> getActivityListByClassId(long classId, long termId) throws GradingFactorException {
    Session session = sessionFactory.openSession();
    session.beginTransaction();
    try {
        List<Activity> activityList = new ArrayList<>();
        String hql = "from Activity where _class.id = :classId and term.id = :termId";
        Query query = session.createQuery(hql);
        query.setParameter("classId", classId);
        query.setParameter("termId", termId);
        for (Object objActivity : query.list()) activityList.add((Activity) objActivity);
        session.getTransaction().commit();
        session.close();
        return activityList;
    } catch (GradingFactorDaoException e) {
        session.close();
        throw new GradingFactorException(e.getMessage());
    }
}
Also used : Query(org.hibernate.Query) GradingFactorException(com.remswork.project.alice.exception.GradingFactorException) ArrayList(java.util.ArrayList) GradingFactorDaoException(com.remswork.project.alice.dao.exception.GradingFactorDaoException) Session(org.hibernate.Session)

Example 44 with GradingFactorDaoException

use of com.remswork.project.alice.dao.exception.GradingFactorDaoException in project classify-system by anverliedoit.

the class ActivityDaoImpl method getActivityResultByActivityAndStudentId.

@Override
public ActivityResult getActivityResultByActivityAndStudentId(long activityId, long studentId) throws GradingFactorException {
    Session session = sessionFactory.openSession();
    session.beginTransaction();
    try {
        Activity activity = session.get(Activity.class, activityId);
        Student student = session.get(Student.class, studentId);
        String hql = "from ActivityResult as R where R.activity.id = :activityId and R.student.id = :studentId";
        Query query = session.createQuery(hql);
        query.setParameter("activityId", activityId);
        query.setParameter("studentId", studentId);
        if (activity == null)
            throw new GradingFactorDaoException("Activity with id : " + activityId + " does not exist");
        if (student == null)
            throw new GradingFactorDaoException("Activity's student with id : " + studentId + " does not exist");
        if (query.list().size() < 1)
            throw new GradingFactorDaoException("No ActivityResult found. Try use query param " + "(ex. studentId=[id])");
        ActivityResult result = (ActivityResult) query.list().get(0);
        session.getTransaction().commit();
        session.close();
        return result;
    } catch (GradingFactorDaoException e) {
        session.close();
        throw new GradingFactorException(e.getMessage());
    }
}
Also used : Query(org.hibernate.Query) GradingFactorException(com.remswork.project.alice.exception.GradingFactorException) GradingFactorDaoException(com.remswork.project.alice.dao.exception.GradingFactorDaoException) Session(org.hibernate.Session)

Example 45 with GradingFactorDaoException

use of com.remswork.project.alice.dao.exception.GradingFactorDaoException in project classify-system by anverliedoit.

the class ActivityDaoImpl method deleteActivityById.

@Override
public Activity deleteActivityById(long id) throws GradingFactorException {
    Session session = sessionFactory.openSession();
    session.beginTransaction();
    try {
        String[] table = new String[1];
        table[0] = ActivityResult.class.getSimpleName();
        Activity activity = session.get(Activity.class, id);
        if (activity == null)
            throw new GradingFactorDaoException("Activity with id : " + id + " does not exist");
        for (String cell : table) {
            String hql = "delete from ".concat(cell).concat(" where activity.id = :activityId");
            Query query = session.createQuery(hql);
            query.setParameter("activityId", id);
            query.executeUpdate();
        }
        session.delete(activity);
        session.getTransaction().commit();
        session.close();
        return activity;
    } catch (GradingFactorDaoException e) {
        session.close();
        throw new GradingFactorException(e.getMessage());
    }
}
Also used : Query(org.hibernate.Query) GradingFactorException(com.remswork.project.alice.exception.GradingFactorException) GradingFactorDaoException(com.remswork.project.alice.dao.exception.GradingFactorDaoException) Session(org.hibernate.Session)

Aggregations

GradingFactorDaoException (com.remswork.project.alice.dao.exception.GradingFactorDaoException)104 GradingFactorException (com.remswork.project.alice.exception.GradingFactorException)104 Session (org.hibernate.Session)104 Query (org.hibernate.Query)64 ArrayList (java.util.ArrayList)27 Class (com.remswork.project.alice.model.Class)16 Grade (com.remswork.project.alice.model.Grade)7 Formula (com.remswork.project.alice.model.Formula)6 Student (com.remswork.project.alice.model.Student)2 Subject (com.remswork.project.alice.model.Subject)2 Teacher (com.remswork.project.alice.model.Teacher)2 Term (com.remswork.project.alice.model.Term)2