updateWaterLineField method

Future<WaterLineFieldDto> updateWaterLineField()

Implementation

Future<WaterLineFieldDto> updateWaterLineField() async {
  if (!initialized) throw ArgumentError(AbstractDao.C_MUST_INIT);
  WaterLineFieldDto returnWaterLineFieldDto;
  waterLineField.setWaterLineFieldDto(waterLineFieldDto);
  int? now = null;
  int? remoteTs = waterLineFieldDto.remote_ts;
  if (Warden.isServer(localWardenType)) {
    now = TimeUtils.getNowCustomTs();
    remoteTs = null;
  }
  returnWaterLineFieldDto = await waterLineField.updateTs(now, remoteTs);

  if (Warden.isServer(localWardenType) || Warden.isServer(remoteWardenType)) {
    await waterLineField.updateMaxTs(waterLineFieldDto.change_type_enum!, now, remoteTs);
  }
  // Blank out values not needed to validate return
  returnWaterLineFieldDto.notify_state = null;
  returnWaterLineFieldDto.value_number = null;
  returnWaterLineFieldDto.ui_type = null;
  returnWaterLineFieldDto.local_ts = null;
  returnWaterLineFieldDto.remote_ts = null;
  return returnWaterLineFieldDto;
}