orderDetails method

dynamic orderDetails(
  1. BuildContext context,
  2. String orderId
)

Implementation

orderDetails(
  BuildContext context,
  String orderId,
) async {
  Helper.progressDialog(context, "pleaseWait".tr);
  // printLogs(dio);
  String requestTime = DateTime.now().toString();
  try {
    dio.options = BaseOptions(
      receiveTimeout: const Duration(
        seconds: Constants.defaultSubmitTimeout,
      ),
      connectTimeout: const Duration(
        seconds: Constants.defaultSubmitTimeout,
      ),
      followRedirects: true,
    );
    // dio.options.headers["x-request-txn-id"] = UDID.getUDID();
    dio
        .get(
      '${ApiConstant.posBaseUrl}pos-purchase-order-svc/orders/$orderId',
    )
        .then((response) async {
      UDID.setTraceId(response.headers.map[Constants.traceIdKey]?[0] ?? "");

      Helper.logEvent(
        "RESPONSE_EVENT",
        success: true,
        endPoint: "pos-purchase-order-svc/orders/$orderId",
        responseDate: DateTime.now().toString(),
        screenName: "stockOrder",
        requestDate: requestTime,
        transactionId: orderId,
      );
      if (response.data != null) {
        ConditionalLogs().customLog('orderDetails${response.data}');
        log('orderCreation${response.data}');
        Map<String, dynamic> creditData = response.data;
        cartDetailsResponseModel =
            CartDetailsResponseModel.fromJson(creditData);
        if (cartDetailsResponseModel.status == 'POS200') {
          Helper.logEvent(
            "RESPONSE_EVENT",
            success: true,
            endPoint: "pos-purchase-order-svc/orders/$orderId",
            responseDate: DateTime.now().toString(),
            screenName: "stockOrder",
            requestDate: requestTime,
            transactionId: cartDetailsResponseModel.data?.orderId ?? '',
            isFinal: true,
          );

          List<Map<String, dynamic>> lineItems = [];
          changeSourceAddressStatus = 0;
          changeDestinationAddressStatus = 0;
          var cardId = cartDetailsResponseModel.data?.cartId ?? "";
          invoiceReceiptId.value =
              cartDetailsResponseModel.data?.invoiceReceiptId ?? "";
          // orderStatus.value = cartDetailsResponseModel.data?.status ?? "";
          this.orderId.value = cartDetailsResponseModel.data?.orderId ?? "";
          for (var product
              in cartDetailsResponseModel.data?.lineItems ?? []) {
            lineItems.add({
              "id": product.id.toString(), // offerId
              "quantity": product.quantity.toString()
            });
          }

          Map<String, dynamic> jsonData = {
            // "cartId": cardId,
            "lineItems": lineItems,
            "sellerInfo": {
              // loginDetails
              "partnerId": "",
              "partnerTypeId":
                  cartDetailsResponseModel.data?.sellerTypeId ?? "0",
            },
            "buyerInfo": {
              //  partner list
              "partnerId":
                  cartDetailsResponseModel.data?.buyerPartnerId ?? "",
              "partnerTypeId":
                  cartDetailsResponseModel.data?.buyerTypeId ?? "",
            }
          };

          sourceSelected.value = cartDetailsResponseModel
                  .data?.orderSourceAddress?.id
                  .toString() ??
              "";
          selectedSourceAddress.value = getAddressSourceString(
              cartDetailsResponseModel
                  .data?.orderSourceAddress?.addressDetailsInfo);
          destinationSelected.value = cartDetailsResponseModel
                  .data?.orderDestinationAddress?.id
                  .toString() ??
              "";

          selectedDestinationAddress.value = getAddressDesinationString(
              cartDetailsResponseModel
                  .data?.orderDestinationAddress?.addressDetailsInfo);
          selectedDestinationModifyAddressContent.value =
              cartDetailsResponseModel.data!.orderDestinationAddress!;
          selectedSourceModifyAddressContent.value =
              cartDetailsResponseModel.data!.orderSourceAddress!;
          if (checkOutButton.value) {
            Helper.close();
            bool status = await addToReorderCart(
              context,
              jsonData,
            );
          } else if (grnButton.value) {
            await updateSellThruReOrder(cartDetailsResponseModel);
            Helper.close();
            // toShowGrnRejectAll = await SecureStorageService.readSecureData(
            //     SecureStorageService.proccedButton) ??
            // "false";
            Get.to(() => const GrnOrderSummary());
          } else {
            await updateSellThruReOrder(cartDetailsResponseModel);
            Helper.close();
            Get.to(
              () => const CartReOrderScreen(),
            );
          }
          //  orderDestinationAddress
        } else {
          Helper.close();
          Helper.logEvent(
            "RESPONSE_EVENT",
            success: true,
            endPoint: "pos-purchase-order-svc/orders/$orderId",
            responseDate: DateTime.now().toString(),
            screenName: "stockOrder",
            requestDate: requestTime,
            transactionId: cartDetailsResponseModel.data?.orderId ?? '',
            isFinal: true,
          );
          Helper.messageDialog(
            Get.context!,
            cartDetailsResponseModel.errors![0].code ??
                localization.translate("tryAgain"),
            cartDetailsResponseModel.errors![0].localeMessage ??
                localization.translate("somethingWentWrong"),
          );
        }
      }
    }).catchError((error) {
      ConditionalLogs().customLog("$error");
      Helper.close();
      if (error is DioException) {
        UDID.setTraceId(
          error.response?.headers.map[Constants.traceIdKey]?[0] ?? "",
        );
        Helper.logEvent(
          "ERROR_EVENT",
          failure: true,
          requestDate: requestTime,
          endPoint: "pos-purchase-order-svc/orders/$orderId",
          responseDate: DateTime.now().toString(),
          screenName: "stockOrder",
          transactionId: orderId,
          error: error,
          isFinal: true,
        );
      }
      MainController mainController = Get.put(MainController());
      mainController.showErrorPopup();
    });
  } catch (err, stacktrace) {
    ConditionalLogs().customLog("$stacktrace");
    Helper.close();
    if (err is DioException) {
      UDID.setTraceId(
        err.response?.headers.map[Constants.traceIdKey]?[0] ?? "",
      );
      Helper.logEvent(
        "ERROR_EVENT",
        failure: true,
        requestDate: requestTime,
        endPoint: "pos-purchase-order-svc/orders/$orderId",
        responseDate: DateTime.now().toString(),
        screenName: "stockOrder",
        transactionId: orderId,
        error: err,
        isFinal: true,
      );
    }
  }
}