insert<G> method

Future<DatabaseResult<G>> insert<G>(
  1. String tableName,
  2. G data,
  3. ToMap<G> toMap
)

Implementation

Future<DatabaseResult<G>> insert<G>(String tableName, G data, ToMap<G> toMap) async {
  DatabaseResult<G> databaseResult;
  try {
    Map<String, dynamic> map = toMap(data);
    try {
      await _database!.insert(tableName, map, conflictAlgorithm: ConflictAlgorithm.replace);
      databaseResult = DatabaseResult._insertGood(data);
    } catch (e) {
      databaseResult = DatabaseResult._error(e as Exception);
    }
  } on Error catch (err) {
    databaseResult = DatabaseResult._badInputData(data, Exception(err.toString()));
  } catch (e) {
    databaseResult = DatabaseResult._error(e as Exception);
  }
  debugUtil.log(databaseResult.toString());
  return databaseResult;
}