@Override
  public int updateEntity(Admin entity, SQLiteDatabase db) {
    ContentValues values = new ContentValues();

    //        values.put(KEY_ID, entity.getId());
    values.put(KEY_ADMIN_DELETED, entity.getDeleted());
    values.put(DatabaseHelper.KEY_UPDATED_TS, entity.getUpdated());
    values.put(DatabaseHelper.KEY_CREATED_TS, entity.getCreated());
    values.put(KEY_ADMIN_USER_NAME, entity.getUserName());
    values.put(KEY_ADMIN_EMAIL, entity.getEmail());
    values.put(KEY_ADMIN_EMAIL_IS_VERIFIED, entity.getIsEmailVerified());
    values.put(KEY_ADMIN_ACTIVE, entity.getActive());
    values.put(KEY_ADMIN_BANNED, entity.getBanned());
    values.put(KEY_ADMIN_ONLINE, entity.getOnline());

    // updating row
    return db.update(
        DatabaseHelper.TABLE_ADMIN,
        values,
        DatabaseHelper.KEY_ID + " = ?",
        new String[] {String.valueOf(entity.getId())});
  }
  @Override
  public long createEntity(Admin entity, SQLiteDatabase db) {
    ContentValues values = new ContentValues();
    values.put(DatabaseHelper.KEY_ID, entity.getId()); // ??
    values.put(KEY_ADMIN_DELETED, entity.getDeleted());
    values.put(DatabaseHelper.KEY_UPDATED_TS, entity.getUpdated());
    values.put(DatabaseHelper.KEY_CREATED_TS, entity.getCreated());
    values.put(KEY_ADMIN_USER_NAME, entity.getUserName());
    //        values.put(KEY_ADMIN_PASSWORD_HASH, entity.get());
    //        values.put(KEY_ADMIN_PASSWORD_SALT, entity.get());
    values.put(KEY_ADMIN_EMAIL, entity.getEmail());
    values.put(KEY_ADMIN_EMAIL_IS_VERIFIED, entity.getIsEmailVerified());
    values.put(KEY_ADMIN_ACTIVE, entity.getActive());
    values.put(KEY_ADMIN_BANNED, entity.getBanned());
    values.put(KEY_ADMIN_ONLINE, entity.getOnline());
    //        values.put(KEY_ADMIN_IS_ADMIN, entity.get());
    //        values.put(KEY_ADMIN_LOGIN_TIMES, entity.get());

    // insert row
    long entityId = db.insert(DatabaseHelper.TABLE_ADMIN, null, values);

    return entityId;
  }
  @Override
  public Admin getCommonEntity(Cursor c) {
    Admin entity = new Admin();

    entity.setId(c.getInt(c.getColumnIndex(DatabaseHelper.KEY_ID)));
    entity.setDeleted(c.getInt(c.getColumnIndex(KEY_ADMIN_DELETED)));
    entity.setUpdated(c.getString(c.getColumnIndex(DatabaseHelper.KEY_UPDATED_TS)));
    entity.setCreated(c.getString(c.getColumnIndex(DatabaseHelper.KEY_CREATED_TS)));
    entity.setUserName(c.getString(c.getColumnIndex(KEY_ADMIN_USER_NAME)));
    //        values.put(KEY_ADMIN_PASSWORD_HASH, entity.get());
    //        values.put(KEY_ADMIN_PASSWORD_SALT, entity.get());
    entity.setEmail(c.getString(c.getColumnIndex(KEY_ADMIN_EMAIL)));
    entity.setIsEmailVerified(c.getString(c.getColumnIndex(KEY_ADMIN_EMAIL_IS_VERIFIED)));
    entity.setActive(c.getInt(c.getColumnIndex(KEY_ADMIN_ACTIVE)));
    entity.setBanned(c.getInt(c.getColumnIndex(KEY_ADMIN_BANNED)));
    entity.setOnline(c.getInt(c.getColumnIndex(KEY_ADMIN_ONLINE)));
    //        values.put(KEY_ADMIN_IS_ADMIN, entity.get());
    //        values.put(KEY_ADMIN_LOGIN_TIMES, entity.get());

    return entity;
  }