package com.sunvote.xpadapp.audition.dao; import android.content.ContentValues; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import com.sunvote.xpadapp.ConstantValues; import com.sunvote.xpadapp.MyApp; import com.sunvote.xpadapp.audition.EvaluationRuleInfo; import com.sunvote.xpadapp.db.DBLocalHelper; import java.util.ArrayList; import java.util.List; /** * 评议规则信息 * Created by wutaian on 2017/11/13. */ public class EvaluationRuleDaoImpl implements EvaluationRuleDao { private DBLocalHelper helper; private SQLiteDatabase db; public EvaluationRuleDaoImpl(){ helper = MyApp.getInstance().getHelper(); db = MyApp.getInstance().getDb(); } @Override public boolean isOpen() { if (db == null) { return false; } return true; } @Override public void close() { // if (db != null && db.isOpen()) { // db.close(); // db = null; // } } @Override public Boolean addEvaluationRuleInfo(EvaluationRuleInfo evaluationRuleInfo) { if (evaluationRuleInfo == null) { return false; } boolean flag = true; ContentValues values = new ContentValues(); values.put("ItemNum", evaluationRuleInfo.getItemNum()); values.put("DefaultValue", evaluationRuleInfo.getDefaultValue()); values.put("ItemName", evaluationRuleInfo.getItemName()); if (db == null) { db = helper.getWritableDatabase(); } long resultValue = 0; if (db.isOpen()) { db.beginTransaction(); // 开始事务 resultValue = db.replace(ConstantValues.TBL_EVALUATION_RULE, null, values); flag = (resultValue > 0 ? true : false && flag); if (flag) { db.setTransactionSuccessful(); } db.endTransaction(); // 结束事务 close(); } return resultValue > 0 ? true : false; } @Override public void delEvaluationRuleInfo() { String sql = "DELETE FROM " + ConstantValues.TBL_EVALUATION_RULE; if (db == null) { db = helper.getWritableDatabase(); } if (db.isOpen()) { db.execSQL(sql); close(); } } @Override public List findEvaluationRuleInfoAll() { List evaluationRuleInfoLs= new ArrayList<>(); String sql = "SELECT ItemNum,DefaultValue,ItemName FROM " + ConstantValues.TBL_EVALUATION_RULE; if (db == null) { db = helper.getWritableDatabase(); } if (db.isOpen()) { Cursor cursor = db.rawQuery(sql, null); while (cursor.moveToNext()) { EvaluationRuleInfo evaluationRuleInfo = getCursor(cursor); evaluationRuleInfoLs.add(evaluationRuleInfo); } cursor.close(); close(); } return evaluationRuleInfoLs; } private EvaluationRuleInfo getCursor(Cursor cursor){ EvaluationRuleInfo evaluationRuleInfo = new EvaluationRuleInfo(); evaluationRuleInfo.setItemNum(cursor.getInt(cursor.getColumnIndex("ItemNum"))); evaluationRuleInfo.setItemName(cursor.getString(cursor.getColumnIndex("ItemName"))); evaluationRuleInfo.setDefaultValue(cursor.getInt(cursor.getColumnIndex("DefaultValue"))); return evaluationRuleInfo; } }