insertWaterLineFieldDto method

Future<WaterLineFieldDto> insertWaterLineFieldDto(
  1. WaterLineFieldDto waterLineFieldDto
)

Implementation

Future<WaterLineFieldDto> insertWaterLineFieldDto(
    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);
    checkValueNumberIsValid(
        waterLineFieldDto.change_type_enum, waterLineFieldDto.value_number);
  } on SqlException catch (e) {
    if (e.sqlExceptionEnum == SqlExceptionEnum.FAILED_SELECT)
      throw SqlException(SqlExceptionEnum.FAILED_UPDATE, cause: e.cause);
  }
  await insert(waterLineFieldDto);
  return waterLineFieldDto;
}