Probléme avec Floor pour gerer l'Id

Bonjour à tous,

J’ai un problème avec Floor que je n’arrive pas à résoudre malgré plusieurs test. Je ne comprends pas comment gérer l’id qui doit s’auto-generer au moment de la validation du formulaire.

J’ai essayer avec une valeur par défaut mais celant fonctionne pas. Est ce que quelqu’un peut m’aiguiller vers la bonne pratique? Merci beaucoup :slight_smile:

Voici mon code pour plus de lisibilité :

LocalDataManager :

Future<void> addNewVehicle(Vehicle vehicle) async {
    final vehicleDao = await _vehicleDao;
    return vehicleDao.insertVehicle(vehicle);
  }
@dao
@insert
  Future<void> insertVehicle(Vehicle vehicle);

Controller :

createNewCar(
      id,
      model,
      version,
      nextRevisionDate,
      nextRevisionDistance,
      frontTirePressure,
      rearTirePressure,
      nextTechnicalControlDate,
      fuel,
      freeInformations,
      type) {
    final newCar = Vehicle(
        id,
        model,
        version,
        nextRevisionDate,
        nextRevisionDistance,
        frontTirePressure,
        rearTirePressure,
        nextTechnicalControlDate,
        fuel,
        freeInformations,
        type);
    _currentVehicle = newCar;
    allVehicles.add(_currentVehicle!);
    _vehiclesLocalDataManager.addNewVehicle(newCar);
  }

Vehicle :

@entity
class Vehicle {
  @PrimaryKey(autoGenerate: true)
  int id;
  String model;
  String version;
  String? nextRevisionDate;
  String? nextRevisionDistance;
  double? frontTirePressure;
  double? rearTirePressure;
  String? nextTechnicalControlDate;
  String fuel;
  String freeInformations;
  String type;

Validation formulaire :

_carFormValidate() {
    if (_otherFormKey.currentState!.validate()) {
      setState(() {
        final modelNewCar = modelController.value.text;
        final versionNewCar = versionController.value.text;
        final nextRevisionDateNewCar = nextRevisionDateController.value.text;
        final nextRevisionDistanceNewCar =
            nextRevisionDistanceController.value.text;
        final frontTirePressureNewCar =
            double.parse(frontTirePressureController.value.text);
        final rearTirePressureNewCar =
            double.parse(rearTirePressureController.value.text);
        final nextTechnicalControlDateNewCar =
            nextTechnicalControlDateController.value.text;
        final fuelNewCar = fuelController.value.text;
        final freeInformationsNewCar = freeInformationsController.value.text;
        const typeNewCar = "car";

        vehiclesController.createNewCar(
            // id ?
            modelNewCar,
            versionNewCar,
            nextRevisionDateNewCar,
            nextRevisionDistanceNewCar,
            frontTirePressureNewCar,
            rearTirePressureNewCar,
            nextTechnicalControlDateNewCar,
            fuelNewCar,
            freeInformationsNewCar,
            typeNewCar);}