import 'package:test_sa/models/hospital.dart'; import 'package:test_sa/models/lookup.dart'; import '../new_models/assigned_employee.dart'; class ServiceRequestSearch { String callId; String deviceSerialNumber; String deviceNumber; String deviceName; Hospital hospital; String model; Lookup statusValue; bool mostRecent; String from, to; Lookup dateOperator; AssignedEmployee assignedEmployee; ServiceRequestSearch({ this.deviceSerialNumber, this.deviceNumber, this.statusValue, this.deviceName, this.model, this.hospital, this.callId, this.from, this.to, this.assignedEmployee, this.dateOperator, this.mostRecent = true, }); fromSearch(ServiceRequestSearch newSearch) { deviceSerialNumber = newSearch.deviceSerialNumber; deviceNumber = newSearch.deviceNumber; statusValue = newSearch.statusValue; hospital = newSearch.hospital; model = newSearch.model; mostRecent = newSearch.mostRecent; callId = newSearch.callId; from = newSearch.from; to = newSearch.to; assignedEmployee = newSearch.assignedEmployee; dateOperator = newSearch.dateOperator; } Map toMap() { Map search = {}; if (deviceSerialNumber != null && deviceSerialNumber.isNotEmpty) { search["assetSerialNumber"] = deviceSerialNumber; } if (mostRecent != null) { search["mostRecent"] = mostRecent; } if (deviceNumber != null && deviceNumber.isNotEmpty) { search["assetNo"] = deviceNumber; } if (statusValue != null) { search["status"] = statusValue.toJson(); } if (deviceName != null && deviceName.isNotEmpty) { search["assetName"] = deviceName; } if (hospital != null) { search["site"] = hospital.name; } if (model != null && model.isNotEmpty) { search["modelDefinition"] = model; } if (callId != null && callId.isNotEmpty) { search["callId"] = callId; } if (dateOperator != null && from != null) { search["requestedDateSymbol"] = dateOperator.toJson(); search["requestedDateFrom"] = from; } if (dateOperator != null && to != null) { search["requestedDateTo"] = to; } if (assignedEmployee != null) { search["assignedEmployee"] = assignedEmployee.toJson(); } return search; } }