package cz.cvut.fel.restauracefel.server.service.controllers; import cz.cvut.fel.restauracefel.hibernate.Depreciation; import cz.cvut.fel.restauracefel.hibernate.ReasonType; import java.util.Iterator; import java.util.List; /** * * @author Jarda */ public class ReasonTypeController { private static ReasonTypeController instance = null; private ReasonType reasonType = null; private ReasonTypeController(){ } public static ReasonTypeController getInstance(){ if (instance == null){ instance = new ReasonTypeController(); } return instance; } public boolean createReasonType(String name, String note){ reasonType = ReasonType.findByName(name); if (reasonType == null){ reasonType = new ReasonType(name, note, 0); reasonType.create(); return true; } else { return false; } } public boolean deleteReasonType(int reasonTypeId){ reasonType = ReasonType.findById(reasonTypeId); if (reasonType == null){ return false; } //reasonType.delete(); reasonType.setIsDeleted(1); return true; } public boolean updateReasonType(int reasonTypeId, String name, String note){ reasonType = ReasonType.findById(reasonTypeId); if (reasonType == null){ return false; } ReasonType rt = ReasonType.findByName(name); if (rt != null && rt != reasonType){ return false; } reasonType.setName(name); reasonType.setNote(note); reasonType.update(); return true; } public ReasonType getReasonTypeById(int reasonTypeId){ return ReasonType.findById(reasonTypeId); } public ReasonType getReasonTypeByName(String name){ return ReasonType.findByName(name); } public Object [][] getReasonTypes(){ List<ReasonType> list = ReasonType.findAll(); if (list == null || list.isEmpty()){ return null; } Object array [][] = new Object [list.size()][3]; Iterator it = list.iterator(); int i = 0; while (it.hasNext()){ reasonType = (ReasonType)it.next(); array [i][0] = reasonType.getReasonTypeId(); array [i][1] = reasonType.getName(); array [i][2] = reasonType.getNote(); i++; } return array; } public String [] getReasonTypeNames(){ List<ReasonType> list = ReasonType.findAll(); if (list == null || list.isEmpty()){ return null; } String names [] = new String [list.size()]; Iterator it = list.iterator(); int i = 0; while (it.hasNext()){ reasonType = (ReasonType)it.next(); names [i] = reasonType.getName(); i++; } return names; } public boolean isDeletableReasonType(int reasonTypeId){ List<Depreciation> deps = Depreciation.findByReasonType(reasonTypeId); if (deps == null || deps.isEmpty()){ return true; } return false; } }