writeDelete method

Future<RemoteDto> writeDelete(
  1. FieldData? originalDto
)

Implementation

Future<RemoteDto> writeDelete(FieldData? originalDto) async {
  if (!initialized) throw ArgumentError(AbstractDao.C_MUST_INIT);
  bool success = false;

  try {
    await tableTransactions.delete(originalDto);
    success = true;
  } on SqlException catch (e) {
    if (e.sqlExceptionEnum == SqlExceptionEnum.ENTRY_NOT_FOUND) {
      waterLine.setWaterError(WaterError.ENTRY_NOT_FOUND);
      print("$C_CLASSNAME:writeDelete(ENTRY_NOT_FOUND):$e");
    } else if (e.sqlExceptionEnum == SqlExceptionEnum.FAILED_SELECT) {
      waterLine.setWaterError(WaterError.INVALID_ENTRY);
      print("$C_CLASSNAME:writeDelete(INVALID_ENTRY):$e");
    } else if (e.sqlExceptionEnum == SqlExceptionEnum.PARTITION_NOT_FOUND) {
      waterLine.setWaterError(WaterError.PARTITION_NOT_FOUND);
      print("$C_CLASSNAME:writeDelete(PARTITION_NOT_FOUND):$e");
    }
  }
  if (success) {
    setStates();
    wroteDto = true;
  }
  RemoteDto remoteDto = await commitChanges(null);
  return remoteDto;
}