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.
95 lines
2.9 KiB
Dart
95 lines
2.9 KiB
Dart
import '../timer_model.dart';
|
|
|
|
class ServiceRequest{
|
|
String id;
|
|
String requestCode;
|
|
String deviceSerialNumber;
|
|
String deviceId;
|
|
String deviceArName;
|
|
String deviceEnName;
|
|
List<String> devicePhotos;
|
|
String maintenanceIssue;
|
|
String hospitalName;
|
|
String hospitalId;
|
|
String departmentName;
|
|
String engineerName;
|
|
String date;
|
|
String audio;
|
|
int statusValue;
|
|
String statusLabel;
|
|
|
|
bool viewReport;
|
|
String engineerMobile;
|
|
String deviceModel;
|
|
String faultDescription;
|
|
String workPerformed;
|
|
String visitDate;
|
|
DateTime nextVisitDate;
|
|
String jobSheetNumber;
|
|
String reportID;
|
|
|
|
ServiceRequest({
|
|
this.id,
|
|
this.date,
|
|
this.requestCode,
|
|
this.hospitalName,
|
|
this.deviceArName,
|
|
this.deviceEnName,
|
|
this.devicePhotos,
|
|
this.hospitalId,
|
|
this.deviceSerialNumber,
|
|
this.maintenanceIssue,
|
|
this.statusLabel,
|
|
this.statusValue,
|
|
this.departmentName,
|
|
this.deviceId,
|
|
this.audio,
|
|
this.engineerName,
|
|
|
|
this.viewReport = false,
|
|
this.deviceModel,
|
|
this.engineerMobile,
|
|
this.faultDescription,
|
|
this.jobSheetNumber,
|
|
this.visitDate,
|
|
this.nextVisitDate,
|
|
this.workPerformed,
|
|
this.reportID,
|
|
|
|
});
|
|
|
|
factory ServiceRequest.fromJson(Map<String,dynamic> parsedJson){
|
|
return ServiceRequest(
|
|
id: parsedJson["nid"],
|
|
requestCode: parsedJson["call_id"] ?? parsedJson["jobcode"] ,
|
|
hospitalName: parsedJson["call_client"],
|
|
deviceId: parsedJson["deviceid"],
|
|
audio: parsedJson["audio"] ?? "",
|
|
deviceArName: parsedJson["equipment_arabic_name"] == false
|
|
? "No Name found" : parsedJson["equipment_arabic_name"],
|
|
deviceEnName: parsedJson["equipment_english_name"] == false
|
|
? "No Name found" : parsedJson["equipment_english_name"],
|
|
devicePhotos: List<String>.from(parsedJson["image"]),
|
|
deviceSerialNumber: parsedJson["call_sn"],
|
|
date: parsedJson["call_data"],
|
|
maintenanceIssue: parsedJson["call_complaint"] ?? parsedJson["complaint"],
|
|
statusLabel: parsedJson["status_value"],
|
|
statusValue: int.tryParse(parsedJson["status"]??"-1"),
|
|
departmentName: parsedJson["department_name"],
|
|
engineerName: parsedJson["employee_name"],
|
|
hospitalId: parsedJson["client"],
|
|
reportID: parsedJson["service_report_nid"] is String
|
|
? parsedJson["service_report_nid"]
|
|
: null ,
|
|
viewReport: parsedJson["service_report_nid"] is bool ? false : true,
|
|
deviceModel: parsedJson["device_model"],
|
|
engineerMobile: parsedJson["engineer_mobile"],
|
|
faultDescription: parsedJson["fault_desc"],
|
|
jobSheetNumber: parsedJson["job_sheet_number"],
|
|
visitDate: parsedJson["visit_date"],
|
|
nextVisitDate:parsedJson["next_visit_date"] == null
|
|
? null : DateTime.fromMillisecondsSinceEpoch(int.tryParse(parsedJson["next_visit_date"]) * 1000),
|
|
workPerformed: parsedJson["work_performed"],
|
|
);
|
|
}
|
|
} |