TavernerPOS - Source Code

Clone: 

git clone http://www.librarysmith.co.uk/tavernerPOS

 

package com.floreantpos.model.dao;

import java.util.List;

import org.hibernate.Criteria;
import org.hibernate.Session;
import org.hibernate.criterion.Restrictions;

import com.floreantpos.model.CashDropTransaction;
import com.floreantpos.model.Terminal;


public class CashDropTransactionDAO extends BaseCashDropTransactionDAO {

	/**
	 * Default constructor.  Can be used in place of getInstance()
	 */
	public CashDropTransactionDAO () {}

	public List<CashDropTransaction> findUnsettled(Terminal terminal) throws Exception {
		Session session = null;

		try {
			session = createNewSession();
			Criteria criteria = session.createCriteria(getReferenceClass());
			criteria.add(Restrictions.eq(CashDropTransaction.PROP_DRAWER_RESETTED, Boolean.FALSE));
			criteria.add(Restrictions.eq(CashDropTransaction.PROP_TERMINAL, terminal));

			return criteria.list();
		} catch (Exception e) {
			throw e;
		} finally {
			closeSession(session);
		}
	}

	public void deleteCashDrop(CashDropTransaction transaction, Terminal terminal) {
		Session session = null;
		org.hibernate.Transaction tx = null;

		terminal.setCurrentBalance(terminal.getCurrentBalance() + transaction.getAmount());
		try {
			session = createNewSession();
			tx = session.beginTransaction();

			session.delete(transaction);
			session.update(terminal);
			tx.commit();
		} catch (Exception e) {
			try { tx.rollback(); }catch(Exception x) {}
		} finally {
			closeSession(session);
		}

	}

	public void saveNewCashDrop(CashDropTransaction transaction, Terminal terminal) {
		Session session = null;
		org.hibernate.Transaction tx = null;

		terminal.setCurrentBalance(terminal.getCurrentBalance() - transaction.getAmount());
		try {
			session = createNewSession();
			tx = session.beginTransaction();

			session.save(transaction);
			session.update(terminal);
			tx.commit();
		} catch (Exception e) {
			try { tx.rollback(); }catch(Exception x) {}
		} finally {
			closeSession(session);
		}

	}
}

Add comment
These comments are moderated so so won't be published until reviewed.