import 'package:test_sa/models/lookup.dart'; import 'package:test_sa/models/new_models/building.dart'; import 'package:test_sa/models/new_models/floor.dart'; import 'package:test_sa/models/new_models/room_model.dart'; import 'package:test_sa/models/new_models/site.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'; import '../../../models/new_models/department.dart'; class DemoFormModel { String? docName; int? id; String? docNumber; String? docEmail; String? itemDescription; String? requestDescription; String? model; String? assetName; String? manufacturer; Lookup? demoPeriod; String? vendorRepresentativeName; String? vendorName; String? vendorContactNumber; String? vendorEmail; Site? site; Building? building; // Now nullable Floor? floor; // Now nullable Department? department; // Now nullable Rooms? room; SuppEngineerWorkOrders? supEngineer; SupplierDetails? vendor; List? demoAttachment; DemoFormModel({ this.id, this.docName, this.docNumber, this.docEmail, this.itemDescription, this.requestDescription, this.model, this.assetName, this.manufacturer, this.demoPeriod, this.vendorRepresentativeName, this.vendorName, this.vendorContactNumber, this.vendorEmail, this.demoAttachment, this.site, this.vendor, this.supEngineer, this.department, }); Map toJson() { return { "id": id ?? 0, 'siteId': site?.id, 'departmentId': department?.id, "buildingId": building?.id, "floorId": floor?.id, "assetName": assetName, "isSubmit": true, "doctorName": docName, "doctorContactNumber": docNumber, "doctorContactEmail": docEmail, "itemDescription": itemDescription, "requestDescription": requestDescription, "model": model, "vendorName": vendorName, "vendorContactNumber": vendorContactNumber, "vendorEmail": vendorEmail, "vendorRepresentativeName": vendorRepresentativeName, "manufacturer": manufacturer, "demoPeriodId": demoPeriod?.id, "supplierId": vendor?.id, "suppPersonId": supEngineer?.id, // "vendorEmail": vendorEmail, "demoAttachments": // [ // { // "id": 3, // // "documentType": { // // "id": 7748, // // "name": "February", // // "value": 2 // // }, // "documentTypeId": 7748, // "attachmentName": "6c9f50b0-1c92-4ae9-ae64-7c284c61ea72.jpg", // "originalName": "scaled_d245df97-1289-4d0c-92a0-569abedfb0db8154518103327960943.jpg", // "demoRequestId": 3 // }, // { // "id": 4, // // "documentType": { // // "id": 7748, // // "name": "February", // // "value": 2 // // }, // "documentTypeId": 7748, // "attachmentName": "346e04f6-0f9b-4004-ad85-4cdbf8318f7c.jpg", // "originalName": "scaled_85790b6c-7b16-46e6-891c-11c316d5897a2973693360957767376.jpg", // "demoRequestId": 3 // } // ] demoAttachment != null ? demoAttachment!.map((v) => v.toJson()).toList() : [], }; } Map toUpdateJson() { return { "id": id, "supplierId": vendor?.id, "suppPersonId": supEngineer?.id, "demoAttachments": demoAttachment != null ? demoAttachment!.map((v) => v.toJson()).toList() : [], }; } }