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){ _search += "&sn_id=$deviceSerialNumber"; } if(hospitalName != null && hospitalName.isNotEmpty){ _search += "&client=$hospitalName"; } if(brand != null && brand.isNotEmpty){ _search += "&brand=$brand"; } if(model != null && model.isNotEmpty){ _search += "&model=$model"; } if(expectedDateFrom != null){ _search += "&expected_date_from=${expectedDateFrom.millisecondsSinceEpoch ~/ 1000}"; } if(expectedDateTo != null){ _search += "&expected_date_to=${expectedDateTo.millisecondsSinceEpoch~/1000}"; } if(actualDateFrom != null){ _search += "&actual_date_from=${actualDateFrom.millisecondsSinceEpoch ~/ 1000}"; } if(actualDateTo != null){ _search += "&actual_date_to=${actualDateTo.millisecondsSinceEpoch~/1000}"; } if(statusValue != null){ _search += "&status=$statusValue"; } if(contactStatus != null){ _search += "&assigned_to=$contactStatus"; } return _search; } }