getApiByData method

Future<NTRepository> getApiByData(
  1. String ppath,
  2. dynamic pdata,
  3. String pmethod,
  4. bool plist,
  5. bool? puseToken,
  6. bool? pdataQueryParameters,
)

Implementation

Future<NTRepository> getApiByData(String ppath, dynamic pdata, String pmethod,
    bool plist, bool? puseToken, bool? pdataQueryParameters) async {
  NTRepository objReturn = NTRepository(statusId: 1, description: "Ok");
  Repository repository = Repository();

  if (puseToken != null) {
    if (puseToken) {
      DateTime dtNow = DateTime.now();
      String strTemp =
          "${dtNow.day < 10 ? "0" : ""}${dtNow.day}${dtNow.month < 10 ? "0" : ""}${dtNow.month}${dtNow.year}107569";
      if (pdata == null) {
        pdata = {
          "ptoken": md5.convert(utf8.encode(strTemp)).toString().toLowerCase()
        };
      } else {
        Map<String, dynamic> addToken = pdata;
        dynamic dynamicToken = {
          'ptoken': md5.convert(utf8.encode(strTemp)).toString().toLowerCase()
        };
        addToken.addAll(dynamicToken);
        pdata = addToken;
      }
    }
  }

  try {
    Response? response = await repository.callDio(
        ppath,
        pdataQueryParameters == false ? pdata : null,
        null,
        pdataQueryParameters == true ? pdata : null,
        pmethod);

    if (response!.statusCode == 200) {
      Map<String, dynamic> map = response.data;
      objReturn.statusId = map["msgstatus"];
      objReturn.description = map["description"];
      if (!plist) {
        objReturn.dataValue = map["data"];
      } else {
        objReturn.dataListValue = map["data"];
      }
    } else {
      objReturn.statusId = response.statusCode;
      objReturn.description = response.statusMessage;
    }
  } catch (ex) {
    objReturn.statusId = objReturn.statusId == 0 || objReturn.statusId == 1
        ? 99
        : objReturn.statusId;
    objReturn.description = ex.toString().replaceAll("Exception:", "");
  }

  return objReturn;
}