updateWaterLineFieldDto method

Future<WaterLineFieldDto> updateWaterLineFieldDto(
  1. WaterLineFieldDto waterLineFieldDto
)

Implementation

Future<WaterLineFieldDto> updateWaterLineFieldDto(
    WaterLineFieldDto waterLineFieldDto) async {
  if (!initialized) throw ArgumentError(AbstractDao.C_MUST_INIT);
  try {
    checkUniqueFieldsArePresent(
        waterLineFieldDto.id,
        waterLineFieldDto.table_field_id,
        waterLineFieldDto.change_type_enum,
        waterLineFieldDto.user_id);
    checkStatesAreValid(waterLineFieldDto.change_type_enum,
        waterLineFieldDto.notify_state_enum, waterLineFieldDto.ui_type);
  } on SqlException catch (e) {
    if (e.sqlExceptionEnum == SqlExceptionEnum.FAILED_SELECT)
      throw SqlException(SqlExceptionEnum.FAILED_UPDATE);
  }
  WhereData whereData = generateWaterLineFieldWhere(waterLineFieldDto);
  whereData.addWhereFindNull("id", waterLineFieldDto.id);
  if (waterLineFieldDto.table_field_id == null)
    whereData.set("table_field_id", SqlOperator.IS, SqlKeyword("NULL"));
  else
    whereData.set("table_field_id", SqlOperator.EQUAL,
        waterLineFieldDto.table_field_id);
  await update(waterLineFieldDto, whereData);
  return waterLineFieldDto;
}