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.
cloudsolutions-atoms/lib/models/device/device.dart

90 lines
2.8 KiB
Dart

3 years ago
import 'package:test_sa/models/hospital.dart';
import 'package:test_sa/models/lookup.dart';
import 'model.dart';
3 years ago
class Device {
3 years ago
int id;
3 years ago
String serialNumber;
String number;
2 years ago
String assetName;
String destBuildingName;
2 years ago
int destBuildingId;
String destDepartmentName;
2 years ago
int destDepartmentId;
String destRoom;
String destFloor;
2 years ago
int destFloorId;
String destSiteName;
2 years ago
3 years ago
// String brand;
// String model;
ModelDefinition modelDefinition;
Hospital hospital;
3 years ago
Device({
this.id,
this.serialNumber,
this.number,
2 years ago
this.assetName,
3 years ago
this.hospital,
this.destBuildingName,
this.destDepartmentName,
this.destRoom,
this.destFloor,
this.destSiteName,
3 years ago
// this.brand,
// this.model,
this.modelDefinition,
2 years ago
this.destFloorId,
this.destDepartmentId,
this.destBuildingId,
3 years ago
});
factory Device.fromJson(Map<String, dynamic> parsedJson, {bool startKeyWithDest = true}) {
3 years ago
return Device(
2 years ago
id: parsedJson["id"],
serialNumber: parsedJson["assetSerialNo"],
number: parsedJson["assetNumber"],
2 years ago
assetName: parsedJson["assetName"],
2 years ago
modelDefinition: ModelDefinition.fromJson(parsedJson["modelDefinition"]),
hospital: Hospital.fromJson(parsedJson["site"]),
destBuildingName: startKeyWithDest ? parsedJson["destBuildingName"] : parsedJson['building']['name'],
2 years ago
destBuildingId: startKeyWithDest ? parsedJson["destBuildingName"] : parsedJson['building']['id'],
destDepartmentName: startKeyWithDest ? parsedJson["destDepartmentName"] : parsedJson['department']['departmentName'],
2 years ago
destDepartmentId: startKeyWithDest ? parsedJson["destDepartmentName"] : parsedJson['department']['id'],
destRoom: startKeyWithDest ? parsedJson["destRoom"] : parsedJson['room'],
destFloor: startKeyWithDest ? parsedJson["destFloor"] : parsedJson['floor']['name'],
2 years ago
destFloorId: startKeyWithDest ? null : parsedJson['floor']['id'],
2 years ago
destSiteName: parsedJson['destSiteName']
// parsedJson["modelDefinition"] == null ? "" :
// parsedJson["modelDefinition"]["manufacturerName"],
// model: parsedJson["modelDefinition"] == null ? "" :
// parsedJson["modelDefinition"]["modelName"],
);
3 years ago
}
3 years ago
factory Device.fromDevice(Device device) {
3 years ago
return Device(
id: device.id,
serialNumber: device.serialNumber,
number: device.number,
3 years ago
// brand: device.brand,
// model: device.model,
3 years ago
);
}
3 years ago
Map<String, dynamic> toMap(Lookup assetType) {
return {
'id': id,
'assetSerialNo': serialNumber,
'assetNumber': number,
2 years ago
'assetName': assetName,
3 years ago
'modelDefinition': modelDefinition.toJson(),
'site': hospital.toMap(),
3 years ago
'AssetType': assetType.toMap(),
"supplier": {"id": 0, "suppliername": "string"},
3 years ago
};
}
3 years ago
}