Package org.sis.ancmessaging.dao

Source Code of org.sis.ancmessaging.dao.HealthWorkerDaoImpl

package org.sis.ancmessaging.dao;

import java.util.List;

import org.hibernate.Criteria;
import org.hibernate.criterion.Order;
import org.hibernate.criterion.Restrictions;
import org.sis.ancmessaging.domain.HealthExtensionWorker;
import org.sis.ancmessaging.domain.HealthPost;
import org.springframework.stereotype.Repository;
import org.springframework.transaction.annotation.Transactional;

@Repository
@Transactional
public class HealthWorkerDaoImpl extends BaseDao implements HealthWorkerDao {

  @Override
  public HealthExtensionWorker getById(int workerId) {
    return (HealthExtensionWorker) getSession().get(HealthExtensionWorker.class, workerId);
  }

  @Override
  public void save(HealthExtensionWorker healthWorker) {
    getSession().save(healthWorker);
  }

  @Override
  public void update(HealthExtensionWorker healthWorker) {
    getSession().update(healthWorker);
    getSession().flush();
  }

    @SuppressWarnings("unchecked")
  @Override
  public List<HealthExtensionWorker> getPaginatedList(int postId, int rows, int page, StringBuilder sb) {
    HealthPost healthPost = (HealthPost) getSession().createCriteria(HealthPost.class)
                               .add(Restrictions.eq("postId", postId))
                               .uniqueResult();
    int total = healthPost.getHealthWorkers().size();
    int totalPages;
    if (total <= rows) {
      totalPages = 1;
    } else {
      totalPages = total / rows;
      if (total % rows > 0) {
        totalPages += 1;
      }
    }
    sb.append(totalPages);
    Criteria criteria = getSession().createCriteria(HealthExtensionWorker.class)
                    .add(Restrictions.eq("healthPost", healthPost))
                    .addOrder(Order.asc("fullName"));
   
    criteria.setMaxResults(rows);
    int start = (page - 1);
    if (start > 0) {
      start = start + rows;
    }
    criteria.setFirstResult(start);
    return criteria.list();
  }

}
TOP

Related Classes of org.sis.ancmessaging.dao.HealthWorkerDaoImpl

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.