import 'dart:io'; import 'package:flutter/widgets.dart'; import 'package:fluttertoast/fluttertoast.dart'; import 'package:test_sa/extensions/context_extension.dart'; import 'package:test_sa/models/device/asset.dart'; import 'package:test_sa/models/lookup.dart'; import 'package:test_sa/models/service_request/supplier_details.dart'; import 'package:test_sa/models/timer_model.dart'; class PlanPreventiveVisit { String? id; String? visitNo; Asset? asset; String? planNo; String? planName; String? nextPMDate; String? assetName; String? model; String? manufacturer; String? supplierName; String? siteName; String? buildingName; String? floorName; String? departmentName; String? roomName; String? fromDate; String? creationDate; String? closedDate; String? toDate; AssignedEmployee? assignedEmployee; DateTime? acutalDateOfVisit; Lookup? typeOfService; Lookup? visitStatus; num? travelingHours; String? comments; int? executionTimeFrame; Lookup? taskStatus; Lookup? deviceStatus; Lookup? assetAvailability = Lookup(); Lookup? safety; String? engSignature; String? nurseSignature; List? preventiveVisitAttachments; List? attachments = []; List? preventiveVisitCalibrations; List? preventiveVisitChecklists; List? preventiveVisitKits; List? preventiveVisitTimers; List? preventiveVisitSuppliers; TimerModel? tbsTimer = TimerModel(); List? timerModelList = []; TimerModel? ppMTimePicker; PlanPreventiveVisit( {this.id, this.visitNo, this.asset, this.planNo, this.planName, this.nextPMDate, this.assetName, this.model, this.manufacturer, this.supplierName, this.siteName, this.buildingName, this.floorName, this.departmentName, this.roomName, this.fromDate, this.creationDate, this.closedDate, this.toDate, this.assignedEmployee, this.acutalDateOfVisit, this.typeOfService, this.visitStatus, this.travelingHours, this.comments, this.executionTimeFrame, this.taskStatus, this.deviceStatus, this.assetAvailability, this.safety, this.engSignature, this.nurseSignature, this.preventiveVisitAttachments, this.attachments, this.preventiveVisitCalibrations, this.preventiveVisitChecklists, this.preventiveVisitKits, this.preventiveVisitTimers, this.timerModelList, this.ppMTimePicker, this.preventiveVisitSuppliers}); PlanPreventiveVisit.fromJson(Map json) { id = json['id']; visitNo = json['visitNo']; asset = json['asset'] != null ? Asset.fromJson(json['asset']) : null; planNo = json['planNo']; planName = json['planName']; nextPMDate = json['nextPMDate']; assetName = json['assetName']; model = json['model']; manufacturer = json['manufacturer']; supplierName = json['supplierName']; siteName = json['siteName']; buildingName = json['buildingName']; floorName = json['floorName']; departmentName = json['departmentName']; roomName = json['roomName']; fromDate = json['fromDate']; creationDate = json['creationDate']; closedDate = json['closedDate']; toDate = json['toDate']; assignedEmployee = json['assignedEmployee'] != null ? AssignedEmployee.fromJson(json['assignedEmployee']) : null; acutalDateOfVisit = json['acutalDateOfVisit'] != null ? DateTime.parse(json['acutalDateOfVisit']) : null; typeOfService = json['typeOfService'] != null ? Lookup.fromJson(json['typeOfService']) : null; visitStatus = json['visitStatus'] != null ? Lookup.fromJson(json['visitStatus']) : null; travelingHours = json['travelingHours']; comments = json['comments']; executionTimeFrame = json['executionTimeFrame']; taskStatus = json['taskStatus'] != null ? Lookup.fromJson(json['taskStatus']) : null; deviceStatus = json['deviceStatus'] != null ? Lookup.fromJson(json['deviceStatus']) : null; assetAvailability = json['assetAvailability'] != null ? Lookup.fromJson(json['assetAvailability']) : null; safety = json['safety'] != null ? Lookup.fromJson(json['safety']) : null; engSignature = json['engSignature']; nurseSignature = json['nurseSignature']; if (json['preventiveVisitAttachments'] != null) { preventiveVisitAttachments = []; json['preventiveVisitAttachments'].forEach((v) { preventiveVisitAttachments!.add(PreventiveVisitAttachments.fromJson(v)); }); } if (json['preventiveVisitCalibrations'] != null) { preventiveVisitCalibrations = []; json['preventiveVisitCalibrations'].forEach((v) { preventiveVisitCalibrations!.add(PreventiveVisitCalibrations.fromJson(v)); }); } if (json['preventiveVisitChecklists'] != null) { preventiveVisitChecklists = []; json['preventiveVisitChecklists'].forEach((v) { preventiveVisitChecklists!.add(PreventiveVisitChecklists.fromJson(v)); }); } if (json['preventiveVisitKits'] != null) { preventiveVisitKits = []; json['preventiveVisitKits'].forEach((v) { preventiveVisitKits!.add(PreventiveVisitKits.fromJson(v)); }); } if (json['preventiveVisitTimers'] != null) { preventiveVisitTimers = []; json['preventiveVisitTimers'].forEach((v) { preventiveVisitTimers!.add(PreventiveVisitTimers.fromJson(v)); }); } if (json['preventiveVisitSuppliers'] != null) { preventiveVisitSuppliers = []; json['preventiveVisitSuppliers'].forEach((v) { preventiveVisitSuppliers!.add(PreventiveVisitSuppliers.fromJson(v)); }); } } Map toJson({required int status}) { final Map data = {}; data['id'] = id; data['acutalDateOfVisit'] = acutalDateOfVisit?.toIso8601String(); data['typeOfServiceId'] = typeOfService?.id; data['visitStatusValue'] = status; data['travelingHours'] = travelingHours; data['comments'] = comments; data['taskStatusId'] = taskStatus?.id; data['deviceStatusId'] = deviceStatus?.id; data['assetAvailabilityId'] = assetAvailability?.id; data['safetyId'] = safety?.id; data['engSignature'] = engSignature; data['nurseSignature'] = nurseSignature; // // if (asset != null) { // data['asset'] = asset!.toJson(); // } // data['visitNo'] = visitNo; // data['planNo'] = planNo; // data['planName'] = planName; // data['nextPMDate'] = nextPMDate; // data['assetName'] = assetName; // data['model'] = model; // data['manufacturer'] = manufacturer; // data['supplierName'] = supplierName; // data['siteName'] = siteName; // data['buildingName'] = buildingName; // data['floorName'] = floorName; // data['departmentName'] = departmentName; // data['roomName'] = roomName; // data['fromDate'] = fromDate; // data['toDate'] = toDate; // if (assignedEmployee != null) { // data['assignedEmployee'] = assignedEmployee!.toJson(); // } // data['acutalDateOfVisit'] = acutalDateOfVisit; // if (typeOfService != null) { // data['typeOfService'] = typeOfService!.toJson(); // } // if (visitStatus != null) { // data['visitStatus'] = visitStatus!.toJson(); // } // data['travelingHours'] = travelingHours; // data['comments'] = comments; // data['executionTimeFrame'] = executionTimeFrame; // if (taskStatus != null) { // data['taskStatus'] = taskStatus!.toJson(); // } // if (deviceStatus != null) { // data['deviceStatus'] = deviceStatus!.toJson(); // } // data['assetAvailability'] = assetAvailability; // if (safety != null) { // data['safety'] = safety!.toJson(); // } // data['engSignature'] = engSignature; // data['nurseSignature'] = nurseSignature; if (preventiveVisitAttachments != null) { data['preventiveVisitAttachments'] = preventiveVisitAttachments!.map((v) => v.toJson()).toList(); } if (preventiveVisitCalibrations != null) { data['preventiveVisitCalibrations'] = preventiveVisitCalibrations!.map((v) => v.toJson()).toList(); } if (preventiveVisitChecklists != null) { data['preventiveVisitChecklists'] = preventiveVisitChecklists!.map((v) => v.toJson()).toList(); } if (preventiveVisitKits != null) { data['preventiveVisitKits'] = preventiveVisitKits!.map((v) => v.toJson()).toList(); } if (preventiveVisitTimers != null) { data['preventiveVisitTimers'] = preventiveVisitTimers!.map((v) => v.toJson()).toList(); } if (preventiveVisitSuppliers != null) { data['preventiveVisitSuppliers'] = preventiveVisitSuppliers!.map((v) => v.toJson()).toList(); } return data; } bool _isLocalUrl(String url) { if (url.isEmpty != false) return false; return url.startsWith("/") || url.startsWith("file://") || url.substring(1).startsWith(':\\'); } Future validate(BuildContext context) async { if (visitStatus?.id == null) { await Fluttertoast.showToast(msg: "${context.translation.youHaveToSelect} ${context.translation.status}"); return false; } if (acutalDateOfVisit == null) { await Fluttertoast.showToast(msg: "${context.translation.youHaveToSelect} ${context.translation.actualDate}"); return false; } // if (expectedDate == null) { // await Fluttertoast.showToast(msg: "${context.translation.youHaveToSelect} ${context.translation.visitDate}"); // return false; // } if (tbsTimer?.startAt == null) { await Fluttertoast.showToast(msg: "Working Hours Required"); return false; } if (tbsTimer?.endAt == null) { await Fluttertoast.showToast(msg: "Please Stop The Timer"); return false; } // if (externalEngineerTimer?.startAt != null && externalEngineerTimer?.endAt == null) { // await Fluttertoast.showToast(msg: "Please Stop External Engineer Timer"); // return false; // } return true; } void removeEmptyObjects() { // if (vCalibrationTools?.isNotEmpty ?? false) vCalibrationTools!.removeWhere((element) => element.assetId == null && element.calibrationDateOfTesters == null); // if (vKits?.isNotEmpty ?? false) vKits!.removeWhere((element) => element.partName == null && element.partNumber == null); } } // class PlanPreventiveVisit { // String? id; // String? visitNo; // Asset? asset; // String? planNo; // String? planName; // String? nextPMDate; // String? assetName; // String? model; // String? manufacturer; // String? supplierName; // String? siteName; // String? buildingName; // String? floorName; // String? departmentName; // String? roomName; // String? fromDate; // String? toDate; // AssignedEmployee? assignedEmployee; // String? acutalDateOfVisit; // TypeOfService? typeOfService; // VisitStatus? visitStatus; // String? travelingHours; // String? comments; // int? executionTimeFrame; // Lookup? taskStatus; // String? deviceStatus; // Lookup? assetAvailability; // Lookup? safety; // String? engSignature; // String? nurseSignature; // List? preventiveVisitAttachments; // List? preventiveVisitCalibrations; // List? preventiveVisitChecklists; // List? preventiveVisitKits; // List? preventiveVisitTimers; // List? preventiveVisitSuppliers; // TimerModel? tbsTimer = TimerModel(); // // PlanPreventiveVisit( // {this.id, // this.visitNo, // this.asset, // this.planNo, // this.planName, // this.nextPMDate, // this.assetName, // this.model, // this.manufacturer, // this.supplierName, // this.siteName, // this.buildingName, // this.floorName, // this.departmentName, // this.roomName, // this.fromDate, // this.toDate, // this.assignedEmployee, // this.acutalDateOfVisit, // this.typeOfService, // this.visitStatus, // this.travelingHours, // this.comments, // this.executionTimeFrame, // this.taskStatus, // this.deviceStatus, // this.assetAvailability, // this.safety, // this.engSignature, // this.nurseSignature, // this.preventiveVisitAttachments, // this.preventiveVisitCalibrations, // this.preventiveVisitChecklists, // this.preventiveVisitKits, // this.preventiveVisitTimers, // this.preventiveVisitSuppliers}); // // PlanPreventiveVisit.fromJson(Map json) { // id = json['id']; // visitNo = json['visitNo']; // asset = json['asset'] != null ? Asset.fromJson(json['asset']) : null; // planNo = json['planNo']; // planName = json['planName']; // nextPMDate = json['nextPMDate']; // assetName = json['assetName']; // model = json['model']; // manufacturer = json['manufacturer']; // supplierName = json['supplierName']; // siteName = json['siteName']; // buildingName = json['buildingName']; // floorName = json['floorName']; // departmentName = json['departmentName']; // roomName = json['roomName']; // fromDate = json['fromDate']; // toDate = json['toDate']; // assignedEmployee = json['assignedEmployee'] != null ? AssignedEmployee.fromJson(json['assignedEmployee']) : null; // acutalDateOfVisit = json['acutalDateOfVisit']; // typeOfService = json['typeOfService'] != null ? TypeOfService.fromJson(json['typeOfService']) : null; // visitStatus = json['visitStatus'] != null ? VisitStatus.fromJson(json['visitStatus']) : null; // travelingHours = json['travelingHours']; // comments = json['comments']; // executionTimeFrame = json['executionTimeFrame']; // taskStatus = json['taskStatus']; // deviceStatus = json['deviceStatus']; // assetAvailability = json['assetAvailability']; // safety = json['safety']; // engSignature = json['engSignature']; // nurseSignature = json['nurseSignature']; // if (json['preventiveVisitAttachments'] != null) { // preventiveVisitAttachments = []; // json['preventiveVisitAttachments'].forEach((v) { // preventiveVisitAttachments!.add(PreventiveVisitChecklists.fromJson(v)); // }); // } // if (json['preventiveVisitCalibrations'] != null) { // preventiveVisitCalibrations = []; // json['preventiveVisitCalibrations'].forEach((v) { // preventiveVisitCalibrations!.add( PreventiveVisitChecklists.fromJson(v)); // }); // } // if (json['preventiveVisitChecklists'] != null) { // preventiveVisitChecklists = []; // json['preventiveVisitChecklists'].forEach((v) { // preventiveVisitChecklists!.add( PreventiveVisitChecklists.fromJson(v)); // }); // } // if (json['preventiveVisitKits'] != null) { // preventiveVisitKits = []; // json['preventiveVisitKits'].forEach((v) { // preventiveVisitKits!.add( PreventiveVisitChecklists.fromJson(v)); // }); // } // if (json['preventiveVisitTimers'] != null) { // preventiveVisitTimers = []; // json['preventiveVisitTimers'].forEach((v) { // preventiveVisitTimers!.add( PreventiveVisitTimers.fromJson(v)); // }); // } // if (json['preventiveVisitSuppliers'] != null) { // preventiveVisitSuppliers = []; // json['preventiveVisitSuppliers'].forEach((v) { // preventiveVisitSuppliers!.add( PreventiveVisitChecklists.fromJson(v)); // }); // } // } // // Map toJson() { // final Map data = Map(); // data['id'] = this.id; // data['visitNo'] = this.visitNo; // if (this.asset != null) { // data['asset'] = this.asset!.toJson(); // } // data['planNo'] = this.planNo; // data['planName'] = this.planName; // data['nextPMDate'] = this.nextPMDate; // data['assetName'] = this.assetName; // data['model'] = this.model; // data['manufacturer'] = this.manufacturer; // data['supplierName'] = this.supplierName; // data['siteName'] = this.siteName; // data['buildingName'] = this.buildingName; // data['floorName'] = this.floorName; // data['departmentName'] = this.departmentName; // data['roomName'] = this.roomName; // data['fromDate'] = this.fromDate; // data['toDate'] = this.toDate; // if (this.assignedEmployee != null) { // data['assignedEmployee'] = this.assignedEmployee!.toJson(); // } // data['acutalDateOfVisit'] = this.acutalDateOfVisit; // if (this.typeOfService != null) { // data['typeOfService'] = this.typeOfService!.toJson(); // } // if (this.visitStatus != null) { // data['visitStatus'] = this.visitStatus!.toJson(); // } // data['travelingHours'] = this.travelingHours; // data['comments'] = this.comments; // data['executionTimeFrame'] = this.executionTimeFrame; // data['taskStatus'] = this.taskStatus; // data['deviceStatus'] = this.deviceStatus; // data['assetAvailability'] = this.assetAvailability; // data['safety'] = this.safety; // data['engSignature'] = this.engSignature; // data['nurseSignature'] = this.nurseSignature; // if (this.preventiveVisitAttachments != null) { // data['preventiveVisitAttachments'] = this.preventiveVisitAttachments!.map((v) => v.toJson()).toList(); // } // if (this.preventiveVisitCalibrations != null) { // data['preventiveVisitCalibrations'] = this.preventiveVisitCalibrations!.map((v) => v.toJson()).toList(); // } // if (this.preventiveVisitChecklists != null) { // data['preventiveVisitChecklists'] = this.preventiveVisitChecklists!.map((v) => v.toJson()).toList(); // } // if (this.preventiveVisitKits != null) { // data['preventiveVisitKits'] = this.preventiveVisitKits!.map((v) => v.toJson()).toList(); // } // if (this.preventiveVisitTimers != null) { // data['preventiveVisitTimers'] = this.preventiveVisitTimers!.map((v) => v.toJson()).toList(); // } // if (this.preventiveVisitSuppliers != null) { // data['preventiveVisitSuppliers'] = this.preventiveVisitSuppliers!.map((v) => v.toJson()).toList(); // } // return data; // } // // bool _isLocalUrl(String url) { // if (url.isEmpty != false) return false; // return url.startsWith("/") || url.startsWith("file://") || url.substring(1).startsWith(':\\'); // } // // Future validate(BuildContext context) async { // if (visitStatus?.id == null) { // await Fluttertoast.showToast(msg: "${context.translation.youHaveToSelect} ${context.translation.status}"); // return false; // } // if (acutalDateOfVisit == null) { // await Fluttertoast.showToast(msg: "${context.translation.youHaveToSelect} ${context.translation.actualDate}"); // return false; // } // // if (expectedDate == null) { // // await Fluttertoast.showToast(msg: "${context.translation.youHaveToSelect} ${context.translation.visitDate}"); // // return false; // // } // if (tbsTimer?.startAt == null) { // await Fluttertoast.showToast(msg: "Working Hours Required"); // return false; // } // if (tbsTimer?.endAt == null) { // await Fluttertoast.showToast(msg: "Please Stop The Timer"); // return false; // } // // // if (externalEngineerTimer?.startAt != null && externalEngineerTimer?.endAt == null) { // // await Fluttertoast.showToast(msg: "Please Stop External Engineer Timer"); // // return false; // // } // // return true; // } // // void removeEmptyObjects() { // // if (vCalibrationTools?.isNotEmpty ?? false) vCalibrationTools!.removeWhere((element) => element.assetId == null && element.calibrationDateOfTesters == null); // // if (vKits?.isNotEmpty ?? false) vKits!.removeWhere((element) => element.partName == null && element.partNumber == null); // } // } // class Asset { // num? id; // String? assetNumber; // String? assetSerialNo; // // Asset({this.id, this.assetNumber, this.assetSerialNo}); // // Asset.fromJson(Map json) { // id = json['id']; // assetNumber = json['assetNumber']; // assetSerialNo = json['assetSerialNo']; // } // // Map toJson() { // final Map data = Map(); // data['id'] = this.id; // data['assetNumber'] = this.assetNumber; // data['assetSerialNo'] = this.assetSerialNo; // return data; // } // } class AssignedEmployee { String? userId; String? userName; String? email; String? employeeId; int? languageId; AssignedEmployee({this.userId, this.userName, this.email, this.employeeId, this.languageId}); AssignedEmployee.fromJson(Map json) { userId = json['userId']; userName = json['userName']; email = json['email']; employeeId = json['employeeId']; languageId = json['languageId']; } Map toJson() { final Map data = Map(); data['userId'] = this.userId; data['userName'] = this.userName; data['email'] = this.email; data['employeeId'] = this.employeeId; data['languageId'] = this.languageId; return data; } } // class Lookup { // int? id; // String? name; // int? value; // // Lookup({this.id, this.name, this.value}); // // Lookup.fromJson(Map json) { // id = json['id']; // name = json['name']; // value = json['value']; // } // // Map toJson() { // final Map data = Map(); // data['id'] = this.id; // data['name'] = this.name; // data['value'] = this.value; // return data; // } // } // class VisitStatus { // int? id; // String? name; // int? value; // // VisitStatus({this.id, this.name, this.value}); // // VisitStatus.fromJson(Map json) { // id = json['id']; // name = json['name']; // value = json['value']; // } // // Map toJson() { // final Map data = Map(); // data['id'] = this.id; // data['name'] = this.name; // data['value'] = this.value; // return data; // } // } class PreventiveVisitChecklists { int? id; Lookup? taskStatus; String? taskComment; String? measuredValue; InstructionText? instructionText; PreventiveVisitChecklists({this.id, this.taskStatus, this.taskComment, this.measuredValue, this.instructionText}); PreventiveVisitChecklists.fromJson(Map json) { id = json['id']; taskStatus = json['taskStatus'] != null ? Lookup.fromJson(json['taskStatus']) : null; taskComment = json['taskComment']; measuredValue = json['measuredValue']; instructionText = json['instructionText'] != null ? InstructionText.fromJson(json['instructionText']) : null; } Map toJson() { final Map data = {}; data['id'] = id; data['taskStatusId'] = taskStatus?.id; data['taskComment'] = taskComment; data['measuredValue'] = measuredValue; // if (instructionText != null) { // data['instructionText'] = instructionText!.toJson(); // } return data; } } class InstructionText { int? id; String? text; InstructionText({this.id, this.text}); InstructionText.fromJson(Map json) { id = json['id']; text = json['text']; } Map toJson() { final Map data = {}; data['id'] = id; data['text'] = text; return data; } } class PreventiveVisitTimers { int? id; String? startDateTime; String? endDateTime; double? workingHours; PreventiveVisitTimers({this.id, this.startDateTime, this.endDateTime, this.workingHours}); PreventiveVisitTimers.fromJson(Map json) { id = json['id']; startDateTime = json['startDateTime']; endDateTime = json['endDateTime']; workingHours = json['workingHours']; } Map toJson() { final Map data = {}; data['id'] = id; data['startDateTime'] = startDateTime; data['endDateTime'] = endDateTime; data['workingHours'] = workingHours; return data; } } class PreventiveVisitAttachments { int? id; String? attachmentName; PreventiveVisitAttachments({this.id, this.attachmentName}); PreventiveVisitAttachments.fromJson(Map json) { id = json['id']; attachmentName = json['attachmentName']; } Map toJson() { final Map data = {}; data['id'] = id; data['attachmentName'] = attachmentName; return data; } } class PreventiveVisitCalibrations { num? id; Asset? asset; String? calibrationDateOfTesters; PreventiveVisitCalibrations({this.id, this.asset, this.calibrationDateOfTesters}); PreventiveVisitCalibrations.fromJson(Map json) { id = json['id']; asset = json['asset'] != null ? Asset.fromJson(json['asset']) : null; calibrationDateOfTesters = json['calibrationDateOfTesters']; } Map toJson() { final Map data = {}; data['id'] = id; if (asset != null) { // data['asset'] = asset!.toJson(); data['assetId'] = asset?.id; } data['calibrationDateOfTesters'] = calibrationDateOfTesters; return data; } } class PreventiveVisitSuppliers { int? id; SupplierDetails? supplier; SuppPersons? suppPerson; DateTime? startDateTime; DateTime? endDateTime; TextEditingController? workingHoursController; num? workingHours; PreventiveVisitSuppliers({this.id, this.supplier, this.suppPerson, this.startDateTime, this.endDateTime, this.workingHours, this.workingHoursController}); PreventiveVisitSuppliers.fromJson(Map json) { id = json['id']; supplier = json['supplier'] != null ? SupplierDetails.fromJson(json['supplier']) : null; suppPerson = json['suppPerson'] != null ? SuppPersons.fromJson(json['suppPerson']) : null; startDateTime = json['startDateTime'] != null ? DateTime.parse(json['startDateTime']) : null; endDateTime = json['endDateTime'] != null ? DateTime.parse(json['endDateTime']) : null; workingHours = json['workingHours']; } Map toJson() { final Map data = {}; data['id'] = id; if (supplier != null) { // data['supplier'] = supplier!.toJson(); data['supplierId'] = supplier?.id; } if (suppPerson != null) { // data['suppPerson'] = suppPerson!.toJson(); data['suppPersonId'] = suppPerson?.id; } data['startDateTime'] = startDateTime?.toIso8601String(); data['endDateTime'] = endDateTime?.toIso8601String(); data['workingHours'] = workingHours; return data; } } // class Supplier { // int? id; // String? suppliername; // String? name; // String? website; // String? email; // String? code; // int? suppNo; // String? suppStatusId; // String? cityId; // String? person; // String? comment; // String? zipcode; // String? contact; // List? telephones; // List? faxes; // List? addresses; // List? attachments; // List? suppPersons; // List? suppTCodes; // // Supplier( // {this.id, // this.suppliername, // this.name, // this.website, // this.email, // this.code, // this.suppNo, // this.suppStatusId, // this.cityId, // this.person, // this.comment, // this.zipcode, // this.contact, // this.telephones, // this.faxes, // this.addresses, // this.attachments, // this.suppPersons, // this.suppTCodes}); // // Supplier.fromJson(Map json) { // id = json['id']; // suppliername = json['suppliername']; // name = json['name']; // website = json['website']; // email = json['email']; // code = json['code']; // suppNo = json['suppNo']; // suppStatusId = json['suppStatusId']; // cityId = json['cityId']; // person = json['person']; // comment = json['comment']; // zipcode = json['zipcode']; // contact = json['contact']; // if (json['telephones'] != null) { // telephones = []; // json['telephones'].forEach((v) { // telephones!.add(v); // }); // } // if (json['faxes'] != null) { // faxes = []; // json['faxes'].forEach((v) { // faxes!.add(v); // }); // } // if (json['addresses'] != null) { // addresses = []; // json['addresses'].forEach((v) { // addresses!.add(v); // }); // } // if (json['attachments'] != null) { // attachments = []; // json['attachments'].forEach((v) { // attachments!.add(v); // }); // } // if (json['suppPersons'] != null) { // suppPersons = []; // json['suppPersons'].forEach((v) { // suppPersons!.add(SuppPersons.fromJson(v)); // }); // } // if (json['suppTCodes'] != null) { // suppTCodes = []; // json['suppTCodes'].forEach((v) { // suppTCodes!.add(v); // }); // } // } // // Map toJson() { // final Map data = {}; // data['id'] = id; // data['suppliername'] = suppliername; // data['name'] = name; // data['website'] = website; // data['email'] = email; // data['code'] = code; // data['suppNo'] = suppNo; // data['suppStatusId'] = suppStatusId; // data['cityId'] = cityId; // data['person'] = person; // data['comment'] = comment; // data['zipcode'] = zipcode; // data['contact'] = contact; // if (telephones != null) { // data['telephones'] = telephones!.map((v) => v).toList(); // } // if (faxes != null) { // data['faxes'] = faxes!.map((v) => v).toList(); // } // if (addresses != null) { // data['addresses'] = addresses!.map((v) => v).toList(); // } // if (attachments != null) { // data['attachments'] = attachments!.map((v) => v).toList(); // } // if (suppPersons != null) { // data['suppPersons'] = suppPersons!.map((v) => v.toJson()).toList(); // } // if (suppTCodes != null) { // data['suppTCodes'] = suppTCodes!.map((v) => v).toList(); // } // return data; // } // } // class SuppPersons { // int? id; // int? supplierId; // String? personName; // int? personRoleId; // String? contact; // String? externalEngCode; // String? email; // // SuppPersons({this.id, this.supplierId, this.personName, this.personRoleId, this.contact, this.externalEngCode, this.email}); // // SuppPersons.fromJson(Map json) { // id = json['id']; // supplierId = json['supplierId']; // personName = json['personName']; // personRoleId = json['personRoleId']; // contact = json['contact']; // externalEngCode = json['externalEngCode']; // email = json['email']; // } // // Map toJson() { // final Map data = Map(); // data['id'] = this.id; // data['supplierId'] = this.supplierId; // data['personName'] = this.personName; // data['personRoleId'] = this.personRoleId; // data['contact'] = this.contact; // data['externalEngCode'] = this.externalEngCode; // data['email'] = this.email; // return data; // } // } class PreventiveVisitKits { int? id; PartCatalogItem? partCatalogItem; PreventiveVisitKits({this.id, partCatalogItem}); PreventiveVisitKits.fromJson(Map json) { id = json['id']; partCatalogItem = json['partCatalogItem'] != null ? PartCatalogItem.fromJson(json['partCatalogItem']) : null; } Map toJson() { final Map data = {}; data['id'] = id; if (partCatalogItem != null) { data['partCatalogItemId'] = partCatalogItem?.id; } return data; } } class PartCatalogItem { num? id; String? partName; String? partNumber; String? oracleCode; PartCatalogItem({this.id, this.partName, this.partNumber, this.oracleCode}); PartCatalogItem.fromJson(Map json) { id = json['id']; partName = json['partName']; partNumber = json['partNumber']; oracleCode = json['oracleCode']; } Map toJson() { final Map data = {}; data['id'] = id; data['partName'] = partName; data['partNumber'] = partNumber; data['oracleCode'] = oracleCode; return data; } }