isDataAlreadyExist method

Future<bool> isDataAlreadyExist({
  1. required Object model,
  2. required Object modelData,
  3. Function? onComplete,
})

Implementation

Future<bool> isDataAlreadyExist({required Object model, required Object modelData, Function? onComplete}) async {
  final db = await DatabaseHelper().getDatabaseInstance;
  var fieldName = getPrimaryKey(modelData);

  final Map<String, dynamic> dataMap = getMapFromModelData(model: model, data: modelData);
  //final Map<String, dynamic> dataMap = getMapFromModelData(data: modelData);

  var fieldValue = dataMap.values.first;

  var datas = [];
  String sql = "Select $fieldName from ${modelData.runtimeType.toString()} where $fieldName = '$fieldValue'";
  if (sql != null) {
    datas = await db.rawQuery(sql);
  }

  if (datas.length > 0) {
    if (onComplete != null) {
      onComplete(true, fieldValue);
    }
    return true;
  }
  if (onComplete != null) {
    onComplete(false, fieldValue);
  }
  return false;
}