deleteWaterLineFieldByUnique method

Future<void> deleteWaterLineFieldByUnique(
  1. int? id,
  2. int? table_field_id,
  3. ChangeType? changeType,
  4. int? userId,
)

Implementation

Future<void> deleteWaterLineFieldByUnique(
    int? id, int? table_field_id, ChangeType? changeType, int? userId) async {
  if (!initialized) throw ArgumentError(AbstractDao.C_MUST_INIT);
  try {
    checkUniqueFieldsArePresent(id, table_field_id, changeType, userId);
  } on SqlException catch (e) {
    if (e.sqlExceptionEnum == SqlExceptionEnum.FAILED_SELECT)
      throw SqlException(SqlExceptionEnum.ENTRY_NOT_FOUND, cause: e.cause);
  }
  WhereData whereData = WhereData();
  whereData.set("id", SqlOperator.EQUAL, id);
  whereData.set("table_field_id", SqlOperator.EQUAL, table_field_id);
  whereData.set("change_type", SqlOperator.EQUAL, WaterLineField.getChangeTypeValue(changeType));
  whereData.set("user_id", SqlOperator.EQUAL, userId);

  WhereGenerator whereGenerator = WhereGenerator(DBType.Mysql, smd);
  String sql = "   DELETE " +
      "     FROM " +
      tableName +
      whereGenerator.getWhereString(whereData);
  print(sql);
  try {
    await transaction
        .getConnection()
        .query(sql, FieldData.wee(table_field_id!));
  } on SqlException catch (e) {
    print("WS $e");
  }
}