processInsert method
Implementation
@override
Future<RemoteDto?> processInsert() async {
RemoteDto? remoteDto = null;
switch (passedWaterState) {
case WaterState.SERVER_APPROVED:
if (tableTransactions.getTrDto().id == null) {
remoteDto = await super.writeAdd();
} else {
remoteDto = await super.writeOverWrite();
}
try {
await tableTransactions.updateWaterLineField();
} on SqlException catch (e) {
if (e.sqlExceptionEnum != SqlExceptionEnum.ENTRY_NOT_FOUND) rethrow;
}
break;
case WaterState.SERVER_REJECTED:
try {
await tableTransactions.delete(null);
} on SqlException catch (e) {
if (e.sqlExceptionEnum == SqlExceptionEnum.ENTRY_NOT_FOUND) {
print("WS $e");
} else rethrow;
}
remoteDto = await commitChanges(null);
break;
case WaterState.SERVER_PENDING:
remoteDto = await super.writeOverWrite();
break;
default:
}
return remoteDto;
}