setConfigurationTrDto method
Implementation
Future<ConfigurationTrDto?> setConfigurationTrDto(
ConfigurationTrDto configurationTrDto) async {
int? id = configurationTrDto.id;
if (!smdSys.isSystem) {
if (id != null) throw ArgumentError("id must be null");
ConfigurationDto configurationDto =
ConfigurationDto.field(configurationTrDto, defaults);
id = ConfigurationDao.getConfigurationId(
configurationDto.subset,
configurationDto.warden,
configurationDto.configuration_name,
configurationDto.ordinal,
defaults);
configurationTrDto.id = id;
}
ConfigurationTrDto? retConfigurationTrDto;
try {
await getConfigurationTrList(id, null, null, null, null,
configurationTrDto.ts, null, null, null, null, null);
retConfigurationTrDto =
await updateConfigurationTrDto(configurationTrDto);
} on SqlException catch (e) {
if (e.sqlExceptionEnum == SqlExceptionEnum.ENTRY_NOT_FOUND ||
e.sqlExceptionEnum == SqlExceptionEnum.FAILED_SELECT) {
configurationTrDto.id = null;
retConfigurationTrDto =
await insertConfigurationTrDto(configurationTrDto);
}
}
return retConfigurationTrDto;
}