/** * Creates the given item. * * @param database * @param table table name * @param item item model * @return returns true on success. */ public boolean createNew(TYPE item) { item.clearValue(AbstractModel.ID_PROPERTY); long newRow = database.insert(table.name, AbstractModel.ID_PROPERTY.name, item.getMergedValues()); boolean result = newRow >= 0; if (result) { item.setId(newRow); onModelUpdated(item); item.markSaved(); } return result; }
/** * Saves the given item. Will not create a new item! * * @param database * @param table table name * @param item item model * @return returns true on success. */ public boolean saveExisting(TYPE item) { ContentValues values = item.getSetValues(); if (values == null || values.size() == 0) // nothing changed return true; boolean result = database.update( table.name, values, AbstractModel.ID_PROPERTY.eq(item.getId()).toString(), null) > 0; if (result) { onModelUpdated(item); item.markSaved(); } return result; }