package net.miz_hi.smileessence.data.list; import android.content.Context; import android.util.Log; import com.j256.ormlite.dao.Dao; import net.miz_hi.smileessence.Client; import net.miz_hi.smileessence.data.DBHelper; import java.util.Collections; import java.util.List; public class ListModel { private Context context; private static ListModel instance = new ListModel(Client.getMainActivity()); private ListModel(Context context) { this.context = context; } public static ListModel instance() { return instance; } public void save(net.miz_hi.smileessence.data.list.List list) { DBHelper helper = new DBHelper(context); try { Dao<net.miz_hi.smileessence.data.list.List, Integer> dao = helper.getDao(net.miz_hi.smileessence.data.list.List.class); dao.createOrUpdate(list); } catch(Exception e) { Log.e(ListModel.class.getSimpleName(), "error on save"); } finally { helper.close(); } } public void delete(long listId) { DBHelper helper = new DBHelper(context); try { Dao<net.miz_hi.smileessence.data.list.List, Integer> dao = helper.getDao(net.miz_hi.smileessence.data.list.List.class); dao.delete(dao.queryBuilder().where().eq("listId", listId).query()); } catch(Exception e) { Log.e(ListModel.class.getSimpleName(), "error on delete"); } finally { helper.close(); } } public void deleteAll() { DBHelper helper = new DBHelper(context); try { for(net.miz_hi.smileessence.data.list.List list : findAll()) { Dao<net.miz_hi.smileessence.data.list.List, Integer> dao = helper.getDao(net.miz_hi.smileessence.data.list.List.class); dao.delete(list); } } catch(Exception e) { Log.e(ListModel.class.getSimpleName(), "error on delete"); } finally { helper.close(); } } public List<net.miz_hi.smileessence.data.list.List> findAll() { DBHelper helper = new DBHelper(context); try { Dao<net.miz_hi.smileessence.data.list.List, Integer> dao = helper.getDao(net.miz_hi.smileessence.data.list.List.class); return dao.queryForAll(); } catch(Exception e) { Log.e(ListModel.class.getSimpleName(), "error on findAll"); return Collections.emptyList(); } finally { helper.close(); } } }