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_form_model.dart

96 lines
2.8 KiB
Dart

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<DemoAttachments>? 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<String, dynamic> toJson() {
return {
"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": 0,
"suppPersonId": 0,
// "vendorEmail": vendorEmail,
"demoAttachments": demoAttachment != null ? demoAttachment!.map((v) => v.toJson()).toList() : [],
};
}
Map<String, dynamic> toUpdateJson() {
return {
"id": id,
"supplierId": vendor?.id,
"suppPersonId": supEngineer?.id,
"demoAttachments": demoAttachment != null ? demoAttachment!.map((v) => v.toJson()).toList() : [],
};
}
}