Advertisement
IrakliKardava

Untitled

Feb 22nd, 2018
104
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.89 KB | None | 0 0
  1. package smartcity.kni.wirtualnaapteczka.net.database;
  2.  
  3. import android.content.Context;
  4. import android.database.sqlite.SQLiteDatabase;
  5.  
  6. import org.greenrobot.greendao.query.Query;
  7.  
  8. import java.util.List;
  9.  
  10. import smartcity.kni.wirtualnaapteczka.DaoMaster;
  11. import smartcity.kni.wirtualnaapteczka.DaoSession;
  12. import smartcity.kni.wirtualnaapteczka.Medicine;
  13. import smartcity.kni.wirtualnaapteczka.MedicineDao;
  14.  
  15. /**
  16.  * Created by Aleksander on 04.02.2018.
  17.  */
  18.  
  19. public class SQLiteDatabaseHelper {
  20.  
  21.     private static final SQLiteDatabaseHelper ourInstance = new SQLiteDatabaseHelper();
  22.  
  23.     private SQLiteDatabase database;
  24.     private String databaseName;
  25.     private Context context;
  26.  
  27.     private DaoMaster.DevOpenHelper helper;
  28.     private DaoMaster daoMaster;
  29.     private DaoSession daoSession;
  30.  
  31.     private QueryHelper queryHelper;
  32.  
  33.     public static SQLiteDatabaseHelper getInstance() {
  34.         return ourInstance;
  35.     }
  36.  
  37.     private SQLiteDatabaseHelper() {
  38.  
  39.     }
  40.  
  41.     public void openConnection(Context context, String databaseName) {
  42.         this.setConfiguration(context, databaseName);
  43.  
  44.         helper = new DaoMaster.DevOpenHelper(context,databaseName);
  45.         database = helper.getWritableDatabase();
  46.         daoMaster = new DaoMaster(database);
  47.         daoSession = daoMaster.newSession();
  48.  
  49.         this.prepareQueryConfig();
  50.     }
  51.  
  52.     private void setConfiguration(Context context, String databaseName) {
  53.         this.context = context;
  54.         this.databaseName = databaseName;
  55.     }
  56.  
  57.     private void prepareQueryConfig() {
  58.         queryHelper = new QueryHelper(daoSession);
  59.     }
  60.  
  61.     public Medicine getMedicineById(long idMedicine) {
  62.         Query<Medicine> query = queryHelper.getMedicineQueryBuilder()
  63.                 .where(MedicineDao.Properties.Id.eq(idMedicine))
  64.                 .limit(1)
  65.                 .build();
  66.  
  67.         return query.unique();
  68.     }
  69.  
  70.     public List<Medicine> getMedicineByName(String name) {
  71.         Query<Medicine> query = queryHelper.getMedicineQueryBuilder()
  72.                 .where(MedicineDao.Properties.Name.like(name))
  73.                 .build();
  74.  
  75.         return query.list();
  76.     }
  77.  
  78.     public List<Medicine> getAllMedicine() {
  79.         Query<Medicine> query = queryHelper.getMedicineQueryBuilder()
  80.                 .build();
  81.  
  82.         return query.list();
  83.     }
  84.  
  85.     public long insertMedicine(Medicine medicine) {
  86.         return daoSession.getMedicineDao().insert(medicine);
  87.     }
  88.  
  89.     public void insertMedicineList(List<Medicine> medicineList) {
  90.         for(Medicine i: medicineList) {
  91.             daoSession.getMedicineDao().insert(i);
  92.         }
  93.     }
  94.  
  95.     //IF YOU WANT TO ANY OTHER QUERY YOU CAN WRITE HERE IT
  96.    
  97.     //delete query is added <iraklikardawa@gmail.com>
  98.      public void deleteMedicine(long idMedicine) {
  99.      
  100.             daoSession.getMedicineDao().deleteByKey(idMedicine);
  101.        
  102.     }
  103. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement