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.
140 lines
4.7 KiB
Dart
140 lines
4.7 KiB
Dart
import 'package:test_sa/models/device/asset_by_id_model.dart';
|
|
import 'package:test_sa/models/lookup.dart';
|
|
import 'package:test_sa/models/service_request/supp_engineer_work_orders.dart';
|
|
import 'package:test_sa/models/service_request/supplier_details.dart';
|
|
import 'package:test_sa/modules/demo_module/models/demo_attachment_model.dart';
|
|
import 'package:test_sa/modules/loan_module/models/medical_department_model.dart';
|
|
|
|
class DemoRequestModel {
|
|
int? id;
|
|
RequesterUserModel? requesterUser;
|
|
Site? site;
|
|
Lookup? building;
|
|
Lookup? floor;
|
|
MedicalDepartmentModel? department;
|
|
String? assetName;
|
|
String? model;
|
|
String? manufacturer;
|
|
String? doctorName;
|
|
String? doctorContactNumber;
|
|
String? doctorContactEmail;
|
|
String? itemDescription;
|
|
String? requestDescription;
|
|
String? vendorName;
|
|
String? vendorRepresentativeName;
|
|
String? vendorContactNumber;
|
|
String? vendorEmail;
|
|
Lookup? demoPeriod;
|
|
SupplierDetails? supplier;
|
|
SuppEngineerWorkOrders? suppPerson;
|
|
Lookup? status;
|
|
List<DemoAttachments>? demoAttachments;
|
|
dynamic demoAsset;
|
|
dynamic demoInstallationTaskJob;
|
|
dynamic demoPullOutTaskJob;
|
|
bool? isDemoPeriodExpired;
|
|
|
|
DemoRequestModel({
|
|
this.id,
|
|
this.requesterUser,
|
|
this.site,
|
|
this.building,
|
|
this.floor,
|
|
this.department,
|
|
this.assetName,
|
|
this.model,
|
|
this.manufacturer,
|
|
this.doctorName,
|
|
this.doctorContactNumber,
|
|
this.doctorContactEmail,
|
|
this.itemDescription,
|
|
this.requestDescription,
|
|
this.vendorName,
|
|
this.vendorRepresentativeName,
|
|
this.vendorEmail,
|
|
this.vendorContactNumber,
|
|
this.demoPeriod,
|
|
this.supplier,
|
|
this.suppPerson,
|
|
this.status,
|
|
this.demoAttachments,
|
|
this.demoAsset,
|
|
this.demoInstallationTaskJob,
|
|
this.demoPullOutTaskJob,
|
|
this.isDemoPeriodExpired,
|
|
});
|
|
|
|
DemoRequestModel.fromJson(Map<String, dynamic> json) {
|
|
id = json['id'];
|
|
requesterUser = json['requesterUser'] != null ? (RequesterUserModel()..fromJson(json['requesterUser'])) : null;
|
|
site = json['site'] != null ? (Site.fromJson(json['site'])) : null;
|
|
building = json['building'] != null ? (Lookup.fromJson(json['building'])) : null;
|
|
floor = json['floor'] != null ? (Lookup.fromJson(json['floor'])) : null;
|
|
department = json['department'] != null ? (MedicalDepartmentModel.fromJson(json['department'])) : null;
|
|
assetName = json['assetName'];
|
|
model = json['model'];
|
|
manufacturer = json['manufacturer'];
|
|
doctorName = json['doctorName'];
|
|
doctorContactNumber = json['doctorContactNumber'];
|
|
doctorContactEmail = json['doctorContactEmail'];
|
|
itemDescription = json['itemDescription'];
|
|
requestDescription = json['requestDescription'];
|
|
vendorName = json['vendorName'];
|
|
vendorRepresentativeName = json['vendorRepresentativeName'];
|
|
vendorContactNumber = json['vendorContactNumber'];
|
|
vendorEmail = json['vendorEmail'];
|
|
demoPeriod = json['demoPeriod'] != null ? (Lookup.fromJson(json['demoPeriod'])) : null;
|
|
supplier = json['supplier'] != null ? (SupplierDetails.fromJson(json['supplier'])) : null;
|
|
suppPerson = json['suppPerson'] != null ? (SuppEngineerWorkOrders.fromJson(json['suppPerson'])) : null;
|
|
status = json['status'] != null ? (Lookup.fromJson(json['status'])) : null;
|
|
demoAttachments = json['demoAttachments'] != null ? (json['demoAttachments'] as List).map((e) => DemoAttachments.fromJson(e)).toList() : null;
|
|
demoAsset = json['demoAsset'];
|
|
demoInstallationTaskJob = json['demoInstallationTaskJob'];
|
|
demoPullOutTaskJob = json['demoPullOutTaskJob'];
|
|
isDemoPeriodExpired = json['isDemoPeriodExpired'];
|
|
}
|
|
|
|
Map<String, dynamic> toJson() {
|
|
return {
|
|
"id": 0,
|
|
'siteId': site?.id,
|
|
'departmentId': department?.id,
|
|
"buildingId": 0,
|
|
"floorId": 0,
|
|
"assetName": assetName,
|
|
"isSubmit": true,
|
|
"itemDescription": itemDescription,
|
|
"requestDescription": requestDescription,
|
|
"model": model,
|
|
"manufacturer": manufacturer,
|
|
"demoPeriodId": demoPeriod?.id,
|
|
"supplierId": supplier?.id,
|
|
"suppPersonId": suppPerson?.id,
|
|
"demoAttachments": demoAttachments != null ? demoAttachments!.map((v) => v.toJson()).toList() : [],
|
|
};
|
|
}
|
|
}
|
|
|
|
class RequesterUserModel {
|
|
String? requesterUserId;
|
|
String? requesterName;
|
|
String? requesterEmail;
|
|
String? requesterMobile;
|
|
|
|
RequesterUserModel();
|
|
|
|
void fromJson(Map<String, dynamic> json) {
|
|
requesterUserId = json['requesterUserId'];
|
|
requesterName = json['requesterName'];
|
|
requesterEmail = json['requesterEmail'];
|
|
requesterMobile = json['requesterMobile'];
|
|
}
|
|
|
|
Map<String, dynamic> toJson() => {
|
|
'requesterUserId': requesterUserId,
|
|
'requesterName': requesterName,
|
|
'requesterEmail': requesterEmail,
|
|
'requesterMobile': requesterMobile,
|
|
};
|
|
}
|