class VisitsSearch{ String? deviceSerialNumber; String? hospitalName; String? brand; String? model; String? contactStatus; DateTime? expectedDateFrom; DateTime? expectedDateTo; DateTime? actualDateFrom; DateTime? actualDateTo; int? statusValue; VisitsSearch({ this.deviceSerialNumber, this.statusValue, this.brand, this.hospitalName, this.actualDateTo, this.actualDateFrom, this.model, this.contactStatus, this.expectedDateFrom, this.expectedDateTo, }); fromSearch(VisitsSearch newSearch){ deviceSerialNumber = newSearch.deviceSerialNumber; brand = newSearch.brand; hospitalName = newSearch.hospitalName; actualDateTo = newSearch.actualDateTo; actualDateFrom = newSearch.actualDateFrom; model = newSearch.model; contactStatus = newSearch.contactStatus; expectedDateFrom = newSearch.expectedDateFrom; expectedDateTo = newSearch.expectedDateTo; statusValue = newSearch.statusValue; } String toSearchString(){ String _search = ""; if(deviceSerialNumber != null && (deviceSerialNumber?.isNotEmpty??false)){ _search += "&sn_id=$deviceSerialNumber"; } if(hospitalName != null && (hospitalName?.isNotEmpty??false)){ _search += "&client=$hospitalName"; } if(brand != null && (brand?.isNotEmpty??false)){ _search += "&brand=$brand"; } if(model != null && (model?.isNotEmpty??false)){ _search += "&model=$model"; } if(expectedDateFrom != null){ _search += "&expected_date_from=${(expectedDateFrom?.millisecondsSinceEpoch??0) ~/ 1000}"; } if(expectedDateTo != null){ _search += "&expected_date_to=${(expectedDateTo?.millisecondsSinceEpoch??0) ~/1000}"; } if(actualDateFrom != null){ _search += "&actual_date_from=${(actualDateFrom?.millisecondsSinceEpoch??0) ~/ 1000}"; } if(actualDateTo != null){ _search += "&actual_date_to=${(actualDateTo?.millisecondsSinceEpoch??0) ~/1000}"; } if(statusValue != null){ _search += "&status=$statusValue"; } if(contactStatus != null){ _search += "&assigned_to=$contactStatus"; } return _search; } }