getDeliveryManagement method

Future<void> getDeliveryManagement({
  1. String? search,
})

Implementation

Future<void> getDeliveryManagement({String? search}) async {
  BuildContext context = Get.context!;
  Helper.progressDialog(context, "Please wait..");
  String requestTime = "";
  String responseTime = "";
  try {
    await ApiClient(
      baseUrl: ApiConstant.baseUrl,
      onFetchRequestTime: (time) {
        requestTime = time;
      },
      onFetchResponseTime: (time) {
        responseTime = time;
      },
      screenName: "orderStock",
    )
        .getDeliveryManagement(
      page: 1,
      size: 500,
      search: search,
    )
        .then((response) {
      DeliveryManagementModel model = response;
      if (model.content != null) {
        Helper.close();
        Helper.logEvent(
          "RESPONSE_EVENT",
          success: true,
          endPoint: Api.deliveryManagement,
          responseDate: responseTime,
          screenName: "orderStock",
          requestDate: requestTime,
        );
        deliveryMangamentnList.value = model.content ?? [];
        if (search == "PICKUP") {
          var pickupDelivery = deliveryMangamentnList.value.firstWhere(
            (delivery) => delivery.deliveryType == 'PICKUP',
            orElse: () => DeliveryContent(),
          );
          pickUpTimeSelect.value =
              "${pickupDelivery.deliveryTime ?? ""} ${pickupDelivery.timeUnit ?? ""}";
        } else {
          var expressDelivery = deliveryMangamentnList.value.firstWhere(
            (delivery) => delivery.deliveryType == 'EXPRESS',
            orElse: () => DeliveryContent(),
          );
          expressTimeSelect.value =
              "${expressDelivery.deliveryTime ?? ""} ${expressDelivery.timeUnit ?? ""}";

          var standardDelivery = deliveryMangamentnList.value.firstWhere(
            (delivery) => delivery.deliveryType == 'STANDARD',
            orElse: () => DeliveryContent(),
          );
          standardTimeSelect.value =
              "${standardDelivery.deliveryTime ?? ""} ${standardDelivery.timeUnit ?? ""}";
        }
      } else {
        Helper.close();
      }
    }).catchError((error) {
      ConditionalLogs().customLog("$error");
      if (error is DioException) {
        UDID.setTraceId(
          error.response?.headers.map[Constants.traceIdKey]?[0] ?? "",
        );
        Helper.logEvent(
          "ERROR_EVENT",
          failure: true,
          requestDate: requestTime,
          endPoint: Api.deliveryManagement,
          responseDate: DateTime.now().toString(),
          screenName: "stockOrder",
          error: error,
        );
      }
      Helper.close();
      MainController mainController = Get.put(MainController());
      mainController.showErrorPopup();
    });
  } catch (error, stacktrace) {
    Helper.close();
    ConditionalLogs().customLog("$stacktrace");
    if (error is DioException) {
      UDID.setTraceId(
        error.response?.headers.map[Constants.traceIdKey]?[0] ?? "",
      );
      Helper.logEvent(
        "ERROR_EVENT",
        failure: true,
        requestDate: requestTime,
        endPoint: Api.deliveryManagement,
        responseDate: DateTime.now().toString(),
        screenName: "stockOrder",
        error: error,
      );
    }
  }
}