setWaterLineFieldDto method
Implementation
Future<WaterLineFieldDto> setWaterLineFieldDto(
WaterLineFieldDto waterLineFieldDto) async {
if (!initialized) throw ArgumentError(AbstractDao.C_MUST_INIT);
late WaterLineFieldDto returnWaterLineFieldDto;
bool entryFound = true;
try {
returnWaterLineFieldDto = await getWaterLineFieldDtoByUnique(
waterLineFieldDto.id,
waterLineFieldDto.table_field_id,
waterLineFieldDto.change_type_enum,
waterLineFieldDto.user_id);
} on SqlException catch (e) {
if (e.sqlExceptionEnum == SqlExceptionEnum.ENTRY_NOT_FOUND) {
entryFound = false;
returnWaterLineFieldDto =
await insertWaterLineFieldDto(waterLineFieldDto);
}
}
if (entryFound) {
try {
returnWaterLineFieldDto =
await updateWaterLineFieldDto(waterLineFieldDto);
} on SqlException catch (e) {
if (e.sqlExceptionEnum != SqlExceptionEnum.FAILED_UPDATE) rethrow;
}
}
return returnWaterLineFieldDto;
}