Beispiel #1
0
  public ResponseMessage shortlistSchool(Integer schoolId, Integer userId) {
    ResponseMessage responseMessage = new ResponseMessage();
    ArrayList<String> errors = new ArrayList<String>();
    if (schoolId != null && userId != null) {
      String hql =
          " FROM ShortListedSchool sls "
              + " WHERE sls.school.id = :schoolId AND sls.userRegistrationInfo.id = :userId";
      HibernateUtil hibernateUtil = new HibernateUtil();
      Session session = hibernateUtil.openSession();
      Query query =
          session
              .createQuery(hql)
              .setParameter("schoolId", schoolId)
              .setParameter("userId", userId);
      ShortListedSchool shortListedSchool = (ShortListedSchool) query.uniqueResult();
      session.close();

      try {
        Session newSession = hibernateUtil.openSession();
        newSession.beginTransaction();
        if (shortListedSchool != null) {
          newSession.delete(shortListedSchool);
          responseMessage.setStatus(1);
          responseMessage.setMessage("School delisted successfully.");
        } else {
          shortListedSchool = new ShortListedSchool();
          School school = new School();
          school.setId(schoolId);
          UserRegistrationInfo userRegistrationInfo = new UserRegistrationInfo();
          userRegistrationInfo.setId(userId);
          shortListedSchool.setSchool(school);
          shortListedSchool.setUserRegistrationInfo(userRegistrationInfo);
          newSession.save(shortListedSchool);
          responseMessage.setStatus(1);
          responseMessage.setMessage("School shortlisted successfully.");
        }
        newSession.getTransaction().commit();
        newSession.flush();
        newSession.close();
      } catch (Exception e) {
        errors.add(e.getMessage());
        responseMessage.setErrors(errors);
        responseMessage.setStatus(0);
        responseMessage.setMessage("Failed to shortlist/delist school.");
      }
    } else {
      errors.add("School id and user id required.");
      responseMessage.setErrors(errors);
      responseMessage.setStatus(0);
      responseMessage.setMessage("Failed to shortlist/delist school.");
    }
    return responseMessage;
  }
Beispiel #2
0
  public ResponseMessage addSchoolRating(RatingData ratingData) {
    ResponseMessage msg = new ResponseMessage();
    ArrayList<String> errors = new ArrayList<String>();
    if (ratingData.getSchoolId() > 0
        && ratingData.getUserId() > 0
        && ratingData.getRatings().size() > 0) {
      try {
        String HQL =
            "SELECT ur.id as id, ur.ratingCategoryType.id as catid "
                + " FROM UserRating ur WHERE ur.school.id = :schoolId AND ur.userRegistrationInfo.id = :userId ";
        HibernateUtil hibernateUtil = new HibernateUtil();
        Session sess = hibernateUtil.openSession();
        Query query =
            sess.createQuery(HQL)
                .setResultTransformer(Transformers.aliasToBean(Rating.class))
                .setParameter("schoolId", ratingData.getSchoolId())
                .setParameter("userId", ratingData.getUserId());
        List<Rating> ratings = query.list();
        sess.close();

        School school = new School();
        school.setId(ratingData.getSchoolId());
        UserRegistrationInfo userRegistrationInfo = new UserRegistrationInfo();
        userRegistrationInfo.setId(ratingData.getUserId());
        SchoolRating schoolRating = new SchoolRating();
        schoolRating.setSchool(school);
        Session session = hibernateUtil.openSession();
        session.beginTransaction();
        for (int i = 0; i < ratingData.getRatings().size(); i++) {
          UserRating userRating = new UserRating();
          if (ratings.isEmpty() == false) {
            for (int j = 0; j < ratings.size(); j++) {
              if (ratingData.getRatings().get(i).getCatid() == ratings.get(j).getCatid()) {
                userRating.setId(ratings.get(j).getId());
              }
            }
          }
          userRating.setSchool(school);
          userRating.setUserRegistrationInfo(userRegistrationInfo);
          userRating.setRating((float) ratingData.getRatings().get(i).getRating());
          userRating.setAddedDate(new Date());
          RatingCategoryType ratingCategoryType = new RatingCategoryType();
          ratingCategoryType.setId(ratingData.getRatings().get(i).getCatid());
          userRating.setRatingCategoryType(ratingCategoryType);
          session.saveOrUpdate(userRating);
        }
        session.getTransaction().commit();
        session.flush();
        updateSchoolFinalRating(schoolRating);
        msg.setStatus(1);
        msg.setMessage("Rating saved successfully.");
      } catch (Exception e) {
        errors.add(e.getMessage());
        msg.setStatus(0);
        msg.setErrors(errors);
      }
    } else {
      if (ratingData.getSchoolId() <= 0) {
        errors.add("School Id Can not be empty");
      }
      if (ratingData.getUserId() <= 0) {
        errors.add("User Id Can not be empty");
      }
      if (ratingData.getRatings().size() <= 0) {
        errors.add("Rating data can not be empty");
      }
      msg.setStatus(0);
      msg.setErrors(errors);
    }
    return msg;
  }