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.
150 lines
4.7 KiB
Dart
150 lines
4.7 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['oracleCodes'] != null) {
|
|
oracleCodes = [];
|
|
json['oracleCodes'].forEach((v) {
|
|
oracleCodes!.add(OracleCode.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
|
|
List<OracleCode>? oracleCodes; // 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;
|
|
}
|
|
}
|
|
|
|
class OracleCode {
|
|
int? id;
|
|
int? assetNDId;
|
|
int? codeTypeId;
|
|
String? codeTypeName;
|
|
int? codeTypeValue;
|
|
String? codeValue;
|
|
|
|
OracleCode({this.id, this.assetNDId, this.codeTypeId, this.codeTypeName, this.codeTypeValue, this.codeValue});
|
|
|
|
OracleCode.fromJson(Map<String, dynamic> json) {
|
|
id = json['id'];
|
|
assetNDId = json['assetNDId'];
|
|
codeTypeId = json['codeTypeId'];
|
|
codeTypeName = json['codeTypeName'];
|
|
codeTypeValue = json['codeTypeValue'];
|
|
codeValue = json['codeValue'];
|
|
}
|
|
|
|
Map<String, dynamic> toJson() {
|
|
final Map<String, dynamic> data = new Map<String, dynamic>();
|
|
data['id'] = this.id;
|
|
data['assetNDId'] = this.assetNDId;
|
|
data['codeTypeId'] = this.codeTypeId;
|
|
data['codeTypeName'] = this.codeTypeName;
|
|
data['codeTypeValue'] = this.codeTypeValue;
|
|
data['codeValue'] = this.codeValue;
|
|
return data;
|
|
}
|
|
}
|