You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
111 lines
3.5 KiB
Dart
111 lines
3.5 KiB
Dart
import 'package:test_sa/models/device/supplier.dart';
|
|
|
|
class ModelDefinition {
|
|
ModelDefinition({
|
|
this.id,
|
|
this.assetName,
|
|
this.assetDescription,
|
|
this.modelDefCode,
|
|
this.modelName,
|
|
this.manufacturerId,
|
|
this.manufacturerName,
|
|
this.supplierName,
|
|
this.replacementDate,
|
|
this.essentialEquipement,
|
|
this.businessCritical,
|
|
this.lifeSpan,
|
|
this.modelDefRelatedDefects,
|
|
this.suppliers,
|
|
});
|
|
|
|
ModelDefinition.fromJson(dynamic json) {
|
|
id = json['id'];
|
|
assetName = json['assetName'];
|
|
assetDescription = json['assetDescription'];
|
|
modelDefCode = json['modelDefCode'];
|
|
modelName = json['modelName'];
|
|
manufacturerId = json['manufacturerId'];
|
|
manufacturerName = json['manufacturerName'];
|
|
supplierName = json['supplierName'];
|
|
replacementDate = json['replacementDate'];
|
|
essentialEquipement = json['essentialEquipement'];
|
|
businessCritical = json['businessCritical'];
|
|
lifeSpan = json['lifeSpan'];
|
|
if (json['modelDefRelatedDefects'] != null) {
|
|
modelDefRelatedDefects = [];
|
|
json['modelDefRelatedDefects'].forEach((v) {
|
|
modelDefRelatedDefects!.add(ModelDefRelatedDefects.fromJson(v)); // Use '!' since modelDefRelatedDefects is initialized here
|
|
});
|
|
}
|
|
if (json['suppliers'] != null) {
|
|
suppliers = [];
|
|
json['suppliers'].forEach((v) {
|
|
suppliers!.add(Supplier.fromJson(v)); // Use '!' since suppliers is initialized here
|
|
});
|
|
}
|
|
}
|
|
|
|
num? id; // Now nullable
|
|
String? assetName; // Now nullable
|
|
String? assetDescription; // Now nullable
|
|
String? modelDefCode; // Now nullable
|
|
String? modelName; // Now nullable
|
|
num? manufacturerId; // Now nullable
|
|
String? manufacturerName; // Now nullable
|
|
String? supplierName; // Remains dynamic asit can hold various types
|
|
String? replacementDate; // Now nullable
|
|
String? essentialEquipement; // Now nullable
|
|
String? businessCritical; // Now nullable
|
|
num? lifeSpan; // Now nullable
|
|
List<ModelDefRelatedDefects>? modelDefRelatedDefects; // Now nullable
|
|
List<Supplier>? suppliers; // Now nullable
|
|
|
|
// ... (copyWith method remains the same, just with nullable parameters)
|
|
|
|
Map<String, dynamic> toJson() {
|
|
final map = <String, dynamic>{};
|
|
map['id'] = id;
|
|
map['assetName'] = assetName;
|
|
// ... (rest of the toJson method remains the same, no need for null-aware operator here as properties are already checked for null in the if conditions)
|
|
if (modelDefRelatedDefects != null) {
|
|
map['modelDefRelatedDefects'] = modelDefRelatedDefects!.map((v) => v.toJson()).toList(); // Use '!' since modelDefRelatedDefects could be null
|
|
}
|
|
if (suppliers != null) {
|
|
map['suppliers'] = suppliers!.map((v) => v.toJson()).toList(); // Use '!' since suppliers could be null
|
|
}
|
|
return map;
|
|
}
|
|
}
|
|
|
|
class ModelDefRelatedDefects {
|
|
ModelDefRelatedDefects({
|
|
this.id,
|
|
this.defectName,
|
|
this.workPerformed,
|
|
this.estimatedTime,
|
|
});
|
|
|
|
ModelDefRelatedDefects.fromJson(dynamic json) {
|
|
id = json['id'];
|
|
defectName = json['defectName'];
|
|
workPerformed = json['workPerformed'];
|
|
estimatedTime = json['estimatedTime'];
|
|
}
|
|
|
|
num? id; // Now nullable
|
|
String? defectName; // Now nullable
|
|
String? workPerformed; // Now nullable
|
|
String? estimatedTime; // Now nullable
|
|
|
|
// ... (copyWith method remains the same, just with nullable parameters)
|
|
|
|
Map<String, dynamic> toJson() {
|
|
final map = <String, dynamic>{};
|
|
map['id'] = id;
|
|
map['defectName'] = defectName;
|
|
map['workPerformed'] = workPerformed;
|
|
map['estimatedTime'] = estimatedTime;
|
|
return map;
|
|
}
|
|
}
|