processWaterLine method
Future<RemoteDto>
processWaterLine(
- WaterLineDto waterLineDto,
- AbstractTransactionTrDao trDao,
- DbTransaction transaction,
- WardenType? localWardenType,
- UserDto remoteUserDto,
Implementation
Future<RemoteDto> processWaterLine(
WaterLineDto waterLineDto,
AbstractTransactionTrDao trDao,
DbTransaction transaction,
WardenType? localWardenType,
UserDto remoteUserDto) async {
RawRowData rawRowData;
switch (waterLineDto.water_table_id) {
case UserMixin.C_TABLE_ID:
UserTrDao userTrDao = UserTrDao(smdSys, transaction);
await userTrDao.init();
FieldData fieldData=UserTrDto.getSelectFieldData();
rawRowData = await userTrDao.getRawRowDataByTs(waterLineDto.water_ts!, fieldData: fieldData);
if (Warden.isClient(remoteUserDto.warden) && (rawRowData.get('id',null) as int)!=remoteUserDto.id) {
rawRowData.set("pass_key", null);
}
break;
case AuthenticationDto.C_TABLE_ID:
case EntryReceivedDto.C_TABLE_ID:
case RemoteStatusDto.C_TABLE_ID:
case WaterLineDto.C_TABLE_ID:
case WaterLineFieldDto.C_TABLE_ID:
case TransactionTools.C_LAST_FIELD_RECEIVED_TABLE_ID:
case TransactionTools.C_MAX_INT_TABLE_ID:
throw UnsupportedError("Error invalid table '" +
waterLineDto.water_table_name +
"'");
default:
TableTransactionTrDao trDao=TableTransactionTrDao(smdSys, transaction);
await trDao.init(table_id:waterLineDto.water_table_id);
rawRowData = await trDao.getRawRowDataByTs(waterLineDto.water_ts!);
}
RemoteDto remoteDto = RemoteDto.sep(TrDto.field(rawRowData.getFieldData()), smd,
waterLineDto: waterLineDto, water_table_id: waterLineDto.water_table_id);
return remoteDto;
}