com.ust.coppel.incentivos.repository.impl.IncReglasNegocioRepositoryImpl.java Source code

Java tutorial

Introduction

Here is the source code for com.ust.coppel.incentivos.repository.impl.IncReglasNegocioRepositoryImpl.java

Source

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package com.ust.coppel.incentivos.repository.impl;

import java.util.List;
import java.util.Set;

import org.hibernate.Criteria;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.criterion.CriteriaSpecification;
import org.hibernate.criterion.Restrictions;
import org.springframework.stereotype.Repository;
import org.springframework.transaction.annotation.Transactional;

import com.model.CalculoIncentivos.IncGruposReglas;
import com.model.CalculoIncentivos.IncReglasNegocio;
import com.ust.coppel.incentivos.repository.IncReglasNegocioRepository;

/**
 *
 * @author u35058
 */
@Repository
@SuppressWarnings({ "unchecked", "rawtypes" })
public class IncReglasNegocioRepositoryImpl implements IncReglasNegocioRepository {

    private SessionFactory sessionFactory;

    @Transactional
    @Override
    public List<IncReglasNegocio> findAll() {
        Session session = sessionFactory.getCurrentSession();
        List lista = session.createQuery("from IncReglasNegocio").list();
        return lista;
    }

    @Transactional
    @Override
    public IncReglasNegocio find(Integer idreglaNegocio) {
        Session session = sessionFactory.getCurrentSession();

        Criteria criteria = session.createCriteria(IncReglasNegocio.class);

        criteria.add(Restrictions.eq("iduRegla", idreglaNegocio));
        IncReglasNegocio aux = null;
        for (Object aux1 : criteria.list()) {
            ;
            aux = (IncReglasNegocio) aux1;
        }
        return aux;
    }

    @Transactional
    @Override
    public void add(IncReglasNegocio regla) {
        Session session = sessionFactory.getCurrentSession();

        session.save(regla);

        for (com.model.CalculoIncentivos.CondicionReglaNegocio obj : regla.getCondicionReglaNegocios()) {
            session.save(obj);
        }
    }

    @Transactional
    @Override
    public void remove(IncReglasNegocio regla) {
        Session session = sessionFactory.getCurrentSession();

        Set<com.model.CalculoIncentivos.CondicionReglaNegocio> cond = regla.getCondicionReglaNegocios();

        for (com.model.CalculoIncentivos.CondicionReglaNegocio con : cond) {
            session.delete(con);
        }

        session.delete(regla);
    }

    @Transactional
    @Override
    public void update(IncReglasNegocio regla) {
        Session session = sessionFactory.getCurrentSession();

        session.update(regla);

    }

    @Transactional
    @Override
    public List<IncReglasNegocio> findAll(IncGruposReglas grupos) {
        Session session = sessionFactory.getCurrentSession();

        Criteria criteria = session.createCriteria(IncReglasNegocio.class);

        criteria.add(Restrictions.eq("incGruposReglas.iduGrupo", grupos.getIduGrupo()));
        criteria.add(Restrictions.ne("clvEstatus", 9));
        criteria.setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY);
        List<IncReglasNegocio> aux = criteria.list();

        return aux;
    }

    @Transactional
    @Override
    public void limpiar_condiciones(IncReglasNegocio regla) {
        Session session = sessionFactory.getCurrentSession();
        Set<com.model.CalculoIncentivos.CondicionReglaNegocio> cond = regla.getCondicionReglaNegocios();

        for (com.model.CalculoIncentivos.CondicionReglaNegocio con : cond) {
            session.delete(con);
        }
    }

    @Transactional
    @Override
    public void agregar_condiciones(IncReglasNegocio regla) {
        Session session = sessionFactory.getCurrentSession();
        Set<com.model.CalculoIncentivos.CondicionReglaNegocio> cond = regla.getCondicionReglaNegocios();

        for (com.model.CalculoIncentivos.CondicionReglaNegocio con : cond) {
            session.save(con);
        }
    }

}