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/modules/demo_module/models/demo_request_model.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,
};
}