addToCartVariant method
void
addToCartVariant(
- String itemId,
- int quantity,
- String variantTag,
- AddToCartVariant addToCartVariant,
Implementation
void addToCartVariant(String itemId, int quantity, String variantTag,
AddToCartVariant addToCartVariant) async {
addToCartVariant.onLoading();
final url = "https://api.plentrasphere.com/v2/client/index.php";
final body = {
'class': 'cart',
"appKey": appKey,
"action": "addToCart",
"itemId": itemId,
"quantity": quantity.toString(),
"variantTag": variantTag,
};
try {
final response = await http.post(
Uri.parse(url),
headers: {
"Content-Type": "application/x-www-form-urlencoded",
'Authorization': 'Bearer $token'
},
body: body,
);
final data = json.decode(response.body);
int code = data['response']['code'];
String status = data['response']['status'];
if (code == 400) {
if (status == "session-expired" || status == "please-login") {
addToCartVariant.onNotLoggedIn();
addToCartVariant.onLoadfinished();
return;
}
if (status == "app-expired") {
addToCartVariant.onAppNotActive(data['info']['appName']);
addToCartVariant.onLoadfinished();
return;
}
if (status == "item-already-added") {
addToCartVariant.onItemAlreadyAdded();
addToCartVariant.onLoadfinished();
return;
}
if (status == "not-in-stock") {
addToCartVariant.onVariantNotInStock();
addToCartVariant.onLoadfinished();
return;
}
if (status == "cart-max-limit-reached") {
addToCartVariant.onCartMaxLimitReached();
addToCartVariant.onLoadfinished();
return;
}
if (status == "variant-not-found") {
addToCartVariant.onVariantNotFound();
addToCartVariant.onLoadfinished();
return;
}
addToCartVariant.onError(status);
addToCartVariant.onLoadfinished();
return;
}
addToCartVariant.onSuccess(status);
addToCartVariant.onLoadfinished();
} catch (e) {
addToCartVariant.onError(e.toString());
addToCartVariant.onLoadfinished();
}
}