getHistoryByUser method
Implementation
Future<bool> getHistoryByUser({
List<String>? tripType,
String? flightClass,
String? departureDate,
String? requestedDate
}) async {
var queryUrl = "/search-history/user/all?page=${currentSearchHistoryPage.value}&pageSize=${rowsSearchHistoryPerPage.value}";
if (tripType != null && tripType.isNotEmpty&&tripType.length==1) {
queryUrl += "&tripType=${Uri.encodeComponent(tripType[0])}";
}
if (flightClass != null && flightClass.isNotEmpty) {
queryUrl += "&flightClass=${Uri.encodeComponent(flightClass)}";
}
if (departureDate != null && departureDate.isNotEmpty) {
queryUrl += "&departureDate=${Uri.encodeComponent(departureDate)}";
}
if (requestedDate != null && requestedDate.isNotEmpty) {
queryUrl += "&requestedDate=${Uri.encodeComponent(requestedDate)}";
}
try {
var response = await Requests.getDio().get(queryUrl);
if (response.statusCode == 200) {
totalSearchHistoryRequests.value = response.data["total"];
totalSearchHistoryPages.value =
(totalSearchHistoryRequests.value / rowsSearchHistoryPerPage.value).ceil();
searchHistoryList.assignAll(
(response.data["data"] as List<dynamic>).map((json) => Data.fromJson(json)).toList(),
);
return true;
} else {
CustomFlashWidget.showFlashMessage(
title: "Error",
message: response.data?["errorCode"] ??
response.data?["message"]?["errorCode"] ??
"Something unexpected happened. Please try again later!",
);
return false;
}
} catch (e) {
CustomFlashWidget.showFlashMessage(
title: "Error",
message: "Network error. Please check your connection and try again.",
);
return false;
}
}