|
|
@ -48,7 +48,11 @@ class ProductDetailService extends BaseService {
|
|
|
|
|
|
|
|
|
|
|
|
Future getProductReviews(productID) async {
|
|
|
|
Future getProductReviews(productID) async {
|
|
|
|
hasError = false;
|
|
|
|
hasError = false;
|
|
|
|
await baseAppClient.getPharmacy(GET_PRODUCT_DETAIL + productID + "?fields=reviews,stock_quantity,stock_availability,stock_availabilityn,IsStockAvailable", onSuccess: (dynamic response, int statusCode) {
|
|
|
|
await baseAppClient.getPharmacy(
|
|
|
|
|
|
|
|
GET_PRODUCT_DETAIL +
|
|
|
|
|
|
|
|
productID +
|
|
|
|
|
|
|
|
"?fields=reviews,stock_quantity,stock_availability,stock_availabilityn,IsStockAvailable",
|
|
|
|
|
|
|
|
onSuccess: (dynamic response, int statusCode) {
|
|
|
|
_productDetailList.clear();
|
|
|
|
_productDetailList.clear();
|
|
|
|
response['products'].forEach((item) {
|
|
|
|
response['products'].forEach((item) {
|
|
|
|
_productDetailList.add(ProductDetail.fromJson(item));
|
|
|
|
_productDetailList.add(ProductDetail.fromJson(item));
|
|
|
@ -82,7 +86,8 @@ class ProductDetailService extends BaseService {
|
|
|
|
// "generalid": "Cs2020@2016\$2958",
|
|
|
|
// "generalid": "Cs2020@2016\$2958",
|
|
|
|
// "isDentalAllowedBackend": false
|
|
|
|
// "isDentalAllowedBackend": false
|
|
|
|
};
|
|
|
|
};
|
|
|
|
await baseAppClient.post(GET_LOCATION, onSuccess: (dynamic response, int statusCode) {
|
|
|
|
await baseAppClient.post(GET_LOCATION,
|
|
|
|
|
|
|
|
onSuccess: (dynamic response, int statusCode) {
|
|
|
|
_productLocationList.clear();
|
|
|
|
_productLocationList.clear();
|
|
|
|
response['PharmList'].forEach((item) {
|
|
|
|
response['PharmList'].forEach((item) {
|
|
|
|
_productLocationList.add(LocationModel.fromJson(item));
|
|
|
|
_productLocationList.add(LocationModel.fromJson(item));
|
|
|
@ -101,23 +106,32 @@ class ProductDetailService extends BaseService {
|
|
|
|
Map<String, dynamic> request;
|
|
|
|
Map<String, dynamic> request;
|
|
|
|
|
|
|
|
|
|
|
|
request = {
|
|
|
|
request = {
|
|
|
|
"shopping_cart_item": {"quantity": quantity, "shopping_cart_type": "1", "product_id": itemID, "customer_id": customerId, "language_id": 1}
|
|
|
|
"shopping_cart_item": {
|
|
|
|
|
|
|
|
"quantity": quantity,
|
|
|
|
|
|
|
|
"shopping_cart_type": "1",
|
|
|
|
|
|
|
|
"product_id": itemID,
|
|
|
|
|
|
|
|
"customer_id": customerId,
|
|
|
|
|
|
|
|
"language_id": 1
|
|
|
|
|
|
|
|
}
|
|
|
|
};
|
|
|
|
};
|
|
|
|
dynamic localRes;
|
|
|
|
dynamic localRes;
|
|
|
|
|
|
|
|
|
|
|
|
await baseAppClient.pharmacyPost(GET_SHOPPING_CART, isExternal: false, onSuccess: (dynamic response, int statusCode) {
|
|
|
|
await baseAppClient.pharmacyPost(GET_SHOPPING_CART, isExternal: false,
|
|
|
|
|
|
|
|
onSuccess: (dynamic response, int statusCode) {
|
|
|
|
_addToCartModel.clear();
|
|
|
|
_addToCartModel.clear();
|
|
|
|
response['shopping_carts'].forEach((item) {
|
|
|
|
response['shopping_carts'].forEach((item) {
|
|
|
|
_addToCartModel.add(Wishlist.fromJson(item));
|
|
|
|
_addToCartModel.add(Wishlist.fromJson(item));
|
|
|
|
});
|
|
|
|
});
|
|
|
|
AppToast.showSuccessToast(message: TranslationBase.of(context).addToCartMsg
|
|
|
|
AppToast.showSuccessToast(
|
|
|
|
// 'You have added a product to the cart'
|
|
|
|
message: TranslationBase.of(context).addToCartMsg
|
|
|
|
);
|
|
|
|
// 'You have added a product to the cart'
|
|
|
|
|
|
|
|
);
|
|
|
|
localRes = response;
|
|
|
|
localRes = response;
|
|
|
|
}, onFailure: (String error, int statusCode) {
|
|
|
|
}, onFailure: (String error, int statusCode) {
|
|
|
|
hasError = true;
|
|
|
|
hasError = true;
|
|
|
|
super.error = error;
|
|
|
|
super.error = error;
|
|
|
|
AppToast.showErrorToast(message: error ?? Utils.generateContactAdminMessage());
|
|
|
|
AppToast.showErrorToast(
|
|
|
|
|
|
|
|
message: error ?? Utils.generateContactAdminMessage());
|
|
|
|
}, body: request);
|
|
|
|
}, body: request);
|
|
|
|
|
|
|
|
|
|
|
|
return Future.value(localRes);
|
|
|
|
return Future.value(localRes);
|
|
|
@ -125,15 +139,19 @@ class ProductDetailService extends BaseService {
|
|
|
|
|
|
|
|
|
|
|
|
Future notifyMe(customerId, itemID) async {
|
|
|
|
Future notifyMe(customerId, itemID) async {
|
|
|
|
hasError = false;
|
|
|
|
hasError = false;
|
|
|
|
await baseAppClient.getPharmacy(SUBSCRIBE_PRODUCT + "SinceId=$customerId&ProductId=$itemID", onSuccess: (dynamic response, int statusCode) {
|
|
|
|
await baseAppClient.getPharmacy(
|
|
|
|
AppToast.showSuccessToast(message: TranslationBase.of(AppGlobal.context).notifyMeMsg
|
|
|
|
SUBSCRIBE_PRODUCT + "SinceId=$customerId&ProductId=$itemID",
|
|
|
|
// TranslationBase.of(context).notifyMeMsg
|
|
|
|
onSuccess: (dynamic response, int statusCode) {
|
|
|
|
//'You will be notified when product available'
|
|
|
|
AppToast.showSuccessToast(
|
|
|
|
|
|
|
|
message: TranslationBase.of(AppGlobal.context).notifyMeMsg
|
|
|
|
|
|
|
|
// TranslationBase.of(context).notifyMeMsg
|
|
|
|
|
|
|
|
//'You will be notified when product available'
|
|
|
|
);
|
|
|
|
);
|
|
|
|
}, onFailure: (String error, int statusCode) {
|
|
|
|
}, onFailure: (String error, int statusCode) {
|
|
|
|
hasError = true;
|
|
|
|
hasError = true;
|
|
|
|
super.error = error;
|
|
|
|
super.error = error;
|
|
|
|
AppToast.showErrorToast(message: error ?? Utils.generateContactAdminMessage());
|
|
|
|
AppToast.showErrorToast(
|
|
|
|
|
|
|
|
message: error ?? Utils.generateContactAdminMessage());
|
|
|
|
});
|
|
|
|
});
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
@ -143,28 +161,39 @@ class ProductDetailService extends BaseService {
|
|
|
|
Map<String, dynamic> request;
|
|
|
|
Map<String, dynamic> request;
|
|
|
|
|
|
|
|
|
|
|
|
request = {
|
|
|
|
request = {
|
|
|
|
"shopping_cart_item": {"quantity": 1, "shopping_cart_type": "Wishlist", "product_id": itemID, "customer_id": customerId, "language_id": 1}
|
|
|
|
"shopping_cart_item": {
|
|
|
|
|
|
|
|
"quantity": 1,
|
|
|
|
|
|
|
|
"shopping_cart_type": "Wishlist",
|
|
|
|
|
|
|
|
"product_id": itemID,
|
|
|
|
|
|
|
|
"customer_id": customerId,
|
|
|
|
|
|
|
|
"language_id": 1
|
|
|
|
|
|
|
|
}
|
|
|
|
};
|
|
|
|
};
|
|
|
|
await baseAppClient.pharmacyPost(GET_SHOPPING_CART, onSuccess: (dynamic response, int statusCode) {
|
|
|
|
await baseAppClient.pharmacyPost(GET_SHOPPING_CART,
|
|
|
|
|
|
|
|
onSuccess: (dynamic response, int statusCode) {
|
|
|
|
_wishListProducts.clear();
|
|
|
|
_wishListProducts.clear();
|
|
|
|
response['shopping_carts'].forEach((item) {
|
|
|
|
response['shopping_carts'].forEach((item) {
|
|
|
|
_wishListProducts.add(Wishlist.fromJson(item));
|
|
|
|
_wishListProducts.add(Wishlist.fromJson(item));
|
|
|
|
});
|
|
|
|
});
|
|
|
|
AppToast.showSuccessToast(message: TranslationBase.of(context).addToWishlistMsg
|
|
|
|
AppToast.showSuccessToast(
|
|
|
|
// 'You have added a product to the Wishlist'
|
|
|
|
message: TranslationBase.of(context).addToWishlistMsg
|
|
|
|
);
|
|
|
|
// 'You have added a product to the Wishlist'
|
|
|
|
|
|
|
|
);
|
|
|
|
}, onFailure: (String error, int statusCode) {
|
|
|
|
}, onFailure: (String error, int statusCode) {
|
|
|
|
hasError = true;
|
|
|
|
hasError = true;
|
|
|
|
super.error = error;
|
|
|
|
super.error = error;
|
|
|
|
AppToast.showErrorToast(message: error ?? Utils.generateContactAdminMessage());
|
|
|
|
AppToast.showErrorToast(
|
|
|
|
|
|
|
|
message: error ?? Utils.generateContactAdminMessage());
|
|
|
|
}, body: request);
|
|
|
|
}, body: request);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
Future getWishlistItems() async {
|
|
|
|
Future getWishlistItems() async {
|
|
|
|
var customerId = await sharedPref.getString(PHARMACY_CUSTOMER_ID);
|
|
|
|
var customerId = await sharedPref.getString(PHARMACY_CUSTOMER_ID);
|
|
|
|
var customerGUID = await sharedPref.getObject(PHARMACY_CUSTOMER_GUID);
|
|
|
|
var custGUID = await sharedPref.getObject(PHARMACY_CUSTOMER_GUID);
|
|
|
|
hasError = false;
|
|
|
|
hasError = false;
|
|
|
|
await baseAppClient.getPharmacy(GET_WISHLIST + customerId+ "/$customerGUID/" + "?shopping_cart_type=2", onSuccess: (dynamic response, int statusCode) {
|
|
|
|
await baseAppClient.getPharmacy(
|
|
|
|
|
|
|
|
GET_WISHLIST + customerId + "/$custGUID" + "?shopping_cart_type=2",
|
|
|
|
|
|
|
|
onSuccess: (dynamic response, int statusCode) {
|
|
|
|
_wishListProducts.clear();
|
|
|
|
_wishListProducts.clear();
|
|
|
|
response['shopping_carts'].forEach((item) {
|
|
|
|
response['shopping_carts'].forEach((item) {
|
|
|
|
_wishListProducts.add(Wishlist.fromJson(item));
|
|
|
|
_wishListProducts.add(Wishlist.fromJson(item));
|
|
|
@ -177,26 +206,37 @@ class ProductDetailService extends BaseService {
|
|
|
|
|
|
|
|
|
|
|
|
Future deleteItemFromWishlist(itemID, context) async {
|
|
|
|
Future deleteItemFromWishlist(itemID, context) async {
|
|
|
|
var customerId = await sharedPref.getString(PHARMACY_CUSTOMER_ID);
|
|
|
|
var customerId = await sharedPref.getString(PHARMACY_CUSTOMER_ID);
|
|
|
|
|
|
|
|
var custGUID = await sharedPref.getObject(PHARMACY_CUSTOMER_GUID);
|
|
|
|
hasError = false;
|
|
|
|
hasError = false;
|
|
|
|
await baseAppClient.getPharmacy(DELETE_WISHLIST + customerId + "+&product_id=" + itemID + "&cart_type=Wishlist", onSuccess: (dynamic response, int statusCode) {
|
|
|
|
await baseAppClient.getPharmacy(
|
|
|
|
|
|
|
|
DELETE_WISHLIST +
|
|
|
|
|
|
|
|
customerId +
|
|
|
|
|
|
|
|
"/$custGUID" +
|
|
|
|
|
|
|
|
"+&product_id=" +
|
|
|
|
|
|
|
|
itemID +
|
|
|
|
|
|
|
|
"&cart_type=Wishlist",
|
|
|
|
|
|
|
|
onSuccess: (dynamic response, int statusCode) {
|
|
|
|
_wishListProducts.clear();
|
|
|
|
_wishListProducts.clear();
|
|
|
|
response['shopping_carts'].forEach((item) {
|
|
|
|
response['shopping_carts'].forEach((item) {
|
|
|
|
_wishListProducts.add(Wishlist.fromJson(item));
|
|
|
|
_wishListProducts.add(Wishlist.fromJson(item));
|
|
|
|
});
|
|
|
|
});
|
|
|
|
AppToast.showSuccessToast(message: TranslationBase.of(context).removeFromWishlistMsg
|
|
|
|
AppToast.showSuccessToast(
|
|
|
|
// 'You have removed a product from the Wishlist'
|
|
|
|
message: TranslationBase.of(context).removeFromWishlistMsg
|
|
|
|
);
|
|
|
|
// 'You have removed a product from the Wishlist'
|
|
|
|
|
|
|
|
);
|
|
|
|
}, onFailure: (String error, int statusCode) {
|
|
|
|
}, onFailure: (String error, int statusCode) {
|
|
|
|
hasError = true;
|
|
|
|
hasError = true;
|
|
|
|
super.error = error;
|
|
|
|
super.error = error;
|
|
|
|
AppToast.showErrorToast(message: error ?? Utils.generateContactAdminMessage());
|
|
|
|
AppToast.showErrorToast(
|
|
|
|
|
|
|
|
message: error ?? Utils.generateContactAdminMessage());
|
|
|
|
});
|
|
|
|
});
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
Future productSpecificationData(itemID) async {
|
|
|
|
Future productSpecificationData(itemID) async {
|
|
|
|
hasError = false;
|
|
|
|
hasError = false;
|
|
|
|
|
|
|
|
|
|
|
|
await baseAppClient.getPharmacy(GET_SPECIFICATION + itemID, onSuccess: (dynamic response, int statusCode) {
|
|
|
|
await baseAppClient.getPharmacy(GET_SPECIFICATION + itemID,
|
|
|
|
|
|
|
|
onSuccess: (dynamic response, int statusCode) {
|
|
|
|
_productSpecification.clear();
|
|
|
|
_productSpecification.clear();
|
|
|
|
response['specification'].forEach((item) {
|
|
|
|
response['specification'].forEach((item) {
|
|
|
|
_productSpecification.add(SpecificationModel.fromJson(item));
|
|
|
|
_productSpecification.add(SpecificationModel.fromJson(item));
|
|
|
|