Fixed out of stuck items issues

merge-update-with-lab-changes
Fatimah Alshammari 4 years ago
parent e2763a5bd5
commit 9cf0794cf6

@ -1091,6 +1091,8 @@ const Map localizedValues = {
"camera-permission": {"en": "Camera", "ar": "الكاميرا"}, "camera-permission": {"en": "Camera", "ar": "الكاميرا"},
"location-permission": {"en": "Location", "ar": "تحديد المواقع"}, "location-permission": {"en": "Location", "ar": "تحديد المواقع"},
"needPrescription": {"en": "This product requires a prescription", "ar": " هذا المنتج يتطلب وصفة طبية"},
"outOfStockMsg": {"en": "You have added product which is out of stock now, Please remove that!", "ar": "لقد قمت بإضافة المنتج الذي نفذ من المخزون الآن. يرجى إزالة ذلك"},
"accessibility": {"en": "Accessibility Mode", "ar": "وضع امكانية الوصول"}, "accessibility": {"en": "Accessibility Mode", "ar": "وضع امكانية الوصول"},
"orderStatus": {"en": "Order Status", "ar": "حالة الطلب"}, "orderStatus": {"en": "Order Status", "ar": "حالة الطلب"},
"CancelOrder": {"en": "Cancel Order", "ar": "الغاء الطلب"}, "CancelOrder": {"en": "Cancel Order", "ar": "الغاء الطلب"},

@ -42,9 +42,11 @@ class OrderPreviewViewModel extends BaseViewModel {
getShoppingCart(); getShoppingCart();
} }
} }
void update(){
void update() {
notifyListeners(); notifyListeners();
} }
Future getShoppingCart() async { Future getShoppingCart() async {
// setState(ViewState.Busy); // setState(ViewState.Busy);
// GifLoaderDialogUtils.showMyDialog( // GifLoaderDialogUtils.showMyDialog(
@ -61,7 +63,7 @@ class OrderPreviewViewModel extends BaseViewModel {
} }
// GifLoaderDialogUtils.hideDialog( // GifLoaderDialogUtils.hideDialog(
// locator<NavigationService>().navigatorKey.currentContext); // locator<NavigationService>().navigatorKey.currentContext);
setState(ViewState.Idle); setState(ViewState.Idle);
} }
} }
@ -216,15 +218,15 @@ class OrderPreviewViewModel extends BaseViewModel {
} }
} }
// bool outOfStock = false; bool isCartItemsOutOfStock() {
bool checkCardQuantity(){ bool outOfStock = false;
bool outOfStock = false; for (int i = 0; i < cartResponse.shoppingCarts.length; i++) {
for (int i = 0; i <cartResponse.shoppingCarts.length; i++) { if (cartResponse.shoppingCarts[i].product.stockQuantity == 0) {
if(cartResponse.shoppingCarts[i].product.stockQuantity == 0){
outOfStock = true; outOfStock = true;
break; break;
} return outOfStock;
} }
}
return outOfStock;
} }
} }

@ -4,6 +4,7 @@ import 'package:diplomaticquarterapp/core/viewModels/pharmacyModule/product_deta
import 'package:diplomaticquarterapp/core/viewModels/pharmacy_categorise_view_model.dart'; import 'package:diplomaticquarterapp/core/viewModels/pharmacy_categorise_view_model.dart';
import 'package:diplomaticquarterapp/locator.dart'; import 'package:diplomaticquarterapp/locator.dart';
import 'package:diplomaticquarterapp/pages/pharmacies/screens/cart-order-page.dart'; import 'package:diplomaticquarterapp/pages/pharmacies/screens/cart-order-page.dart';
import 'package:diplomaticquarterapp/uitl/app_toast.dart';
import 'package:diplomaticquarterapp/uitl/gif_loader_dialog_utils.dart'; import 'package:diplomaticquarterapp/uitl/gif_loader_dialog_utils.dart';
import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart'; import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
import 'package:diplomaticquarterapp/pages/pharmacies/screens/product-details/product-detail.dart'; import 'package:diplomaticquarterapp/pages/pharmacies/screens/product-details/product-detail.dart';
@ -495,7 +496,7 @@ class _FinalProductsPageState extends State<FinalProductsPage> {
context) context)
.size .size
.width / .width /
3.5 5.3
: 0, : 0,
padding: padding:
EdgeInsets.all( EdgeInsets.all(
@ -613,21 +614,28 @@ class _FinalProductsPageState extends State<FinalProductsPage> {
), ),
), ),
widget.authenticatedUserObject.isLogin? widget.authenticatedUserObject.isLogin
Container( ? Container(
child: IconButton( child: IconButton(
icon: Icon(Icons.shopping_cart, icon: Icon(Icons.shopping_cart,
size: 15, size: 18,
color: Colors.blue,), color: Colors.blue,),
onPressed: () async { onPressed: () async {
GifLoaderDialogUtils.showMyDialog(context); GifLoaderDialogUtils.showMyDialog(context);
if(model.finalProducts[index].rxMessage == null){
await addToCartFunction(1, model.finalProducts[index].id); await addToCartFunction(1, model.finalProducts[index].id);
GifLoaderDialogUtils.hideDialog(context); // GifLoaderDialogUtils.hideDialog(context);
Navigator.push( Navigator.push(
context, context,
FadePage(page: CartOrderPage()), FadePage(page: CartOrderPage()),
); );
}, }
else{
AppToast.showErrorToast(message: TranslationBase.of(context).needPrescription);
}
GifLoaderDialogUtils.hideDialog(context);
}
), ),
):Container(), ):Container(),
], ],

@ -9,6 +9,7 @@ import 'package:diplomaticquarterapp/locator.dart';
import 'package:diplomaticquarterapp/pages/pharmacies/screens/cart-order-page.dart'; import 'package:diplomaticquarterapp/pages/pharmacies/screens/cart-order-page.dart';
import 'package:diplomaticquarterapp/pages/pharmacies/screens/product-details/product-detail.dart'; import 'package:diplomaticquarterapp/pages/pharmacies/screens/product-details/product-detail.dart';
import 'package:diplomaticquarterapp/pages/sub_categorise_page.dart'; import 'package:diplomaticquarterapp/pages/sub_categorise_page.dart';
import 'package:diplomaticquarterapp/uitl/app_toast.dart';
import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart'; import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
import 'package:diplomaticquarterapp/uitl/gif_loader_dialog_utils.dart'; import 'package:diplomaticquarterapp/uitl/gif_loader_dialog_utils.dart';
import 'package:diplomaticquarterapp/widgets/buttons/button.dart'; import 'package:diplomaticquarterapp/widgets/buttons/button.dart';
@ -1047,7 +1048,7 @@ class _ParentCategorisePageState extends State<ParentCategorisePage> {
context) context)
.size .size
.width / .width /
5 5.3
: 0, : 0,
padding: padding:
EdgeInsets.all(4), EdgeInsets.all(4),
@ -1169,20 +1170,26 @@ class _ParentCategorisePageState extends State<ParentCategorisePage> {
widget.authenticatedUserObject.isLogin ? widget.authenticatedUserObject.isLogin ?
Container( Container(
child: IconButton( child: IconButton(
icon: Icon(Icons.shopping_cart, icon: Icon(Icons.shopping_cart,
size: 15, size: 18,
color: Colors.blue,), color: Colors.blue,),
onPressed: () async { onPressed: () async {
GifLoaderDialogUtils.showMyDialog(context); GifLoaderDialogUtils.showMyDialog(context);
await addToCartFunction(1, model.parentProducts[index].id); if(model.parentProducts[index].rxMessage == null){
GifLoaderDialogUtils.hideDialog(context); await addToCartFunction(1, model.parentProducts[index].id);
Navigator.push( Navigator.push(
context, context,
FadePage(page: CartOrderPage()), FadePage(page: CartOrderPage()),
); );
}, }
) else{
AppToast.showErrorToast(message: TranslationBase.of(context).needPrescription);
}
GifLoaderDialogUtils.hideDialog(context);
}
),
): Container(), ): Container(),
], ],
), ),

@ -6,6 +6,7 @@ import 'package:diplomaticquarterapp/core/viewModels/project_view_model.dart';
import 'package:diplomaticquarterapp/pages/base/base_view.dart'; import 'package:diplomaticquarterapp/pages/base/base_view.dart';
import 'package:diplomaticquarterapp/pages/pharmacies/screens/pharmacy-terms-conditions-page.dart'; import 'package:diplomaticquarterapp/pages/pharmacies/screens/pharmacy-terms-conditions-page.dart';
import 'package:diplomaticquarterapp/pages/pharmacies/widgets/ProductOrderItem.dart'; import 'package:diplomaticquarterapp/pages/pharmacies/widgets/ProductOrderItem.dart';
import 'package:diplomaticquarterapp/uitl/app_toast.dart';
import 'package:diplomaticquarterapp/uitl/gif_loader_dialog_utils.dart'; import 'package:diplomaticquarterapp/uitl/gif_loader_dialog_utils.dart';
import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart'; import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
import 'package:diplomaticquarterapp/uitl/utils.dart'; import 'package:diplomaticquarterapp/uitl/utils.dart';
@ -276,7 +277,7 @@ class OrderBottomWidget extends StatefulWidget {
class _OrderBottomWidgetState extends State<OrderBottomWidget> { class _OrderBottomWidgetState extends State<OrderBottomWidget> {
bool isAgree = false; bool isAgree = false;
bool outOfStock = false;
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
ProjectViewModel projectProvider = Provider.of(context); ProjectViewModel projectProvider = Provider.of(context);
@ -400,23 +401,49 @@ class _OrderBottomWidgetState extends State<OrderBottomWidget> {
onPressed: isAgree onPressed: isAgree
// && cart.cartResponse.shoppingCarts[1].product.stockQuantity ==0 // && cart.cartResponse.shoppingCarts[1].product.stockQuantity ==0
? () => { ? () => {
Navigator.push( if(cart.isCartItemsOutOfStock()){
context, // Toast msg
FadePage( AppToast.showErrorToast(message: TranslationBase.of(context).outOfStockMsg)
page: }else {
OrderPreviewPage(widget.addresses))) Navigator.push(
} context,
: Text("remove item " ), FadePage(
page:
OrderPreviewPage(widget.addresses)))
}
}
: null,
child: new Text( child: new Text(
"${TranslationBase.of(context).checkOut}", "${TranslationBase.of(context).checkOut}",
style: new TextStyle( style: new TextStyle(
color: color:
isAgree ? Colors.white : Colors.grey.shade300, isAgree ? Colors.white : Colors.grey.shade300,
fontSize: 14), fontSize: 14),
), ),
color: Color(0xff005aff), color: Color(0xff005aff),
disabledColor: Color(0xff005aff), disabledColor: Color(0xff005aff),
), )
// RaisedButton(
// onPressed: isAgree
//// && cart.cartResponse.shoppingCarts[1].product.stockQuantity ==0
// ? () => {
// Navigator.push(
// context,
// FadePage(
// page:
// OrderPreviewPage(widget.addresses)))
// }
// : null,
// child: new Text(
// "${TranslationBase.of(context).checkOut}",
// style: new TextStyle(
// color:
// isAgree ? Colors.white : Colors.grey.shade300,
// fontSize: 14),
// ),
// color: Color(0xff005aff),
// disabledColor: Color(0xff005aff),
// )
], ],
), ),
), ),

@ -5,6 +5,7 @@ import 'package:diplomaticquarterapp/core/viewModels/pharmacy_categorise_view_mo
import 'package:diplomaticquarterapp/locator.dart'; import 'package:diplomaticquarterapp/locator.dart';
import 'package:diplomaticquarterapp/pages/pharmacies/screens/cart-order-page.dart'; import 'package:diplomaticquarterapp/pages/pharmacies/screens/cart-order-page.dart';
import 'package:diplomaticquarterapp/pages/pharmacies/screens/product-details/product-detail.dart'; import 'package:diplomaticquarterapp/pages/pharmacies/screens/product-details/product-detail.dart';
import 'package:diplomaticquarterapp/uitl/app_toast.dart';
import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart'; import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
import 'package:diplomaticquarterapp/uitl/gif_loader_dialog_utils.dart'; import 'package:diplomaticquarterapp/uitl/gif_loader_dialog_utils.dart';
import 'package:diplomaticquarterapp/widgets/buttons/button.dart'; import 'package:diplomaticquarterapp/widgets/buttons/button.dart';
@ -867,24 +868,6 @@ class _SubCategorisePageState extends State<SubCategorisePage> {
], ],
), ),
), ),
widget.authenticatedUserObject.isLogin?
Container(
child: IconButton(
icon: Icon(Icons.shopping_cart,
size: 15,
color: Colors.blue,),
onPressed: () async {
GifLoaderDialogUtils.showMyDialog(context);
await addToCartFunction(1, model.subProducts[index].id);
GifLoaderDialogUtils.hideDialog(context);
Navigator.push(
context,
FadePage(page: CartOrderPage()),
);
},
),
):Container(),
], ],
), ),
), ),
@ -967,7 +950,7 @@ class _SubCategorisePageState extends State<SubCategorisePage> {
context) context)
.size .size
.width / .width /
5 5.3
: 0, : 0,
padding: padding:
EdgeInsets.all(4), EdgeInsets.all(4),
@ -1082,6 +1065,29 @@ class _SubCategorisePageState extends State<SubCategorisePage> {
], ],
), ),
), ),
widget.authenticatedUserObject.isLogin?
Container(
child: IconButton(
icon: Icon(Icons.shopping_cart,
size: 18,
color: Colors.blue,),
onPressed: () async {
GifLoaderDialogUtils.showMyDialog(context);
if(model.subProducts[index].rxMessage == null){
await addToCartFunction(1, model.subProducts[index].id);
// GifLoaderDialogUtils.hideDialog(context);
Navigator.push(
context,
FadePage(page: CartOrderPage()),
);}
else{
AppToast.showErrorToast(message: TranslationBase.of(context).needPrescription);
}
GifLoaderDialogUtils.hideDialog(context);
}
),
):Container(),
], ],
), ),
), ),

@ -1365,6 +1365,8 @@ class TranslationBase {
String get referralNumber => String get referralNumber =>
localizedValues['referralNumber'][locale.languageCode]; localizedValues['referralNumber'][locale.languageCode];
String get needPrescription => localizedValues['needPrescription'][locale.languageCode];
String get outOfStockMsg => localizedValues['outOfStockMsg'][locale.languageCode];
String get requestID => localizedValues['requestID'][locale.languageCode]; String get requestID => localizedValues['requestID'][locale.languageCode];
String get OrderStatus => localizedValues['OrderStatus'][locale.languageCode]; String get OrderStatus => localizedValues['OrderStatus'][locale.languageCode];
String get pickupDate => localizedValues['pickupDate'][locale.languageCode]; String get pickupDate => localizedValues['pickupDate'][locale.languageCode];

Loading…
Cancel
Save