getHistoryByUser method

Future<bool> getHistoryByUser({
  1. List<String>? tripType,
  2. String? flightClass,
  3. String? departureDate,
  4. String? requestedDate,
})

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;
}
}