import 'package:test_sa/models/lookup.dart'; class AssetTrackingSearchModel { AssetTrackingSearchModel({ this.search, this.tagStatus, this.lastSeen, this.tagAssignment, this.types, this.departments, this.status, this.startDate, this.endDate, }); String? search; List? tagStatus; List? lastSeen; List? tagAssignment; List? departments; List? types; List? status; String? startDate, endDate; Map toJson() { final map = {}; if (search != null && search!.trim().isNotEmpty) { map['searchString'] = search!.trim(); } if (tagStatus?.isNotEmpty == true) { map['tagStatusIds'] = tagStatus!.map((e) => e.id).toList(); } if (lastSeen?.isNotEmpty == true) { map['lastSeenIds'] = lastSeen!.map((e) => e.id).toList(); } if (tagAssignment?.isNotEmpty == true) { map['tagAssignmentIds'] = tagAssignment!.map((e) => e.id).toList(); } if (types?.isNotEmpty == true) { map['typeIds'] = types!.map((e) => e.id).toList(); } if (departments?.isNotEmpty == true) { map['departmentIds'] = departments!.map((e) => e.id).toList(); } if (status?.isNotEmpty == true) { map['statusIds'] = status!.map((e) => e.id).toList(); } if (startDate != null && startDate!.trim().isNotEmpty) { map['lastSeenFrom'] = startDate!.trim(); } if (endDate != null && endDate!.trim().isNotEmpty) { map['lastSeenTo'] = endDate!.trim(); } return map; } }