init
This commit is contained in:
commit
e833bcaec4
224 files changed
+11812
No files matched your search
@@ -0,0 +1,51 @@
|
||||
// Assumiamo che la classe VinePlant sia stata definita in un file 'vine_plant.dart'
|
||||
import 'vine.plant.dart';
|
||||
|
||||
class Row {
|
||||
final int id;
|
||||
final int vineyardId;
|
||||
final int rowNum;
|
||||
final double length;
|
||||
final List<VinePlant>? vinePlants;
|
||||
|
||||
// Costruttore con parametri nominati.
|
||||
// 'vinePlants' è opzionale perché è nullable.
|
||||
Row({
|
||||
required this.id,
|
||||
required this.vineyardId,
|
||||
required this.rowNum,
|
||||
required this.length,
|
||||
this.vinePlants,
|
||||
});
|
||||
|
||||
// ---
|
||||
|
||||
/// Converte l'oggetto Row in una mappa per la serializzazione JSON.
|
||||
Map<String, dynamic> toJson() {
|
||||
return {
|
||||
'id': id,
|
||||
'vineyardId': vineyardId,
|
||||
'rowNum': rowNum,
|
||||
'length': length,
|
||||
// Se la lista non è null, la converte in una lista di mappe
|
||||
'vinePlants': vinePlants?.map((plant) => plant.toJson()).toList(),
|
||||
};
|
||||
}
|
||||
|
||||
/// Crea un oggetto Row da una mappa (es. da una risposta JSON).
|
||||
factory Row.fromJson(Map<String, dynamic> json) {
|
||||
// La lista viene creata solo se esiste e non è null nella mappa JSON
|
||||
final List<dynamic>? plantsJson = json['vinePlants'];
|
||||
final List<VinePlant>? plantsList = plantsJson != null
|
||||
? plantsJson.map((json) => VinePlant.fromJson(json as Map<String, dynamic>)).toList()
|
||||
: null;
|
||||
|
||||
return Row(
|
||||
id: json['id'] as int,
|
||||
vineyardId: json['vineyardId'] as int,
|
||||
rowNum: json['rowNum'] as int,
|
||||
length: (json['length'] as num).toDouble(),
|
||||
vinePlants: plantsList,
|
||||
);
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user