fix cart order page

merge-update-with-lab-changes
Elham Rababh 4 years ago
parent 275871bc39
commit 6ff829ab91

@ -68,25 +68,26 @@ class OrderPreviewViewModel extends BaseViewModel {
}
Future<ShoppingCartResponse> changeProductQuantity(ShoppingCart product) async {
setState(ViewState.Busy);
setState(ViewState.BusyLocal);
var resp = await _orderService.changeProductQuantity(product.id, product);
var object = _handleGetShoppingCartResponse(resp);
if (_orderService.hasError) {
error = _orderService.error;
setState(ViewState.ErrorLocal);
} else {
var object = _handleGetShoppingCartResponse(resp);
setState(ViewState.Idle);
}
return object;
// return object;
}
Future<ShoppingCartResponse> deleteProduct(ShoppingCart product) async {
setState(ViewState.Busy);
setState(ViewState.BusyLocal);
var resp = await _orderService.deleteProduct(product.id);
var object = _handleGetShoppingCartResponse(resp);
if (_orderService.hasError) {
error = _orderService.error;
setState(ViewState.Error);
setState(ViewState.ErrorLocal);
} else {
setState(ViewState.Idle);
}

@ -99,14 +99,11 @@ class _CartOrderPageState extends State<CartOrderPage> {
: 0,
(index) => ProductOrderItem(
model.cartResponse
.shoppingCarts[index], () {
print(model.cartResponse
.shoppingCarts[index].quantity);
model
.changeProductQuantity(model
.cartResponse
.shoppingCarts[index])
.then((value) {
.shoppingCarts[index], () async {
GifLoaderDialogUtils.showMyDialog(
context);
await model.changeProductQuantity(model
.cartResponse.shoppingCarts[index]);
if (model.state != ViewState.Error) {
// appScaffold.appBar.badgeUpdater(
// '${value.quantityCount ?? 0}');
@ -115,16 +112,21 @@ class _CartOrderPageState extends State<CartOrderPage> {
ViewState.ErrorLocal) {
Utils.showErrorToast(model.error);
}
});
}, () {
model
GifLoaderDialogUtils.hideDialog(
context);
}, () async {
GifLoaderDialogUtils.showMyDialog(
context);
await model
.deleteProduct(model.cartResponse
.shoppingCarts[index])
.then((value) {
if (model.state != ViewState.Error) {
// appScaffold.appBar.badgeUpdater(
// '${value.quantityCount ?? 0}');
if (model.state ==
ViewState.ErrorLocal) {
Utils.showErrorToast(model.error);
}
GifLoaderDialogUtils.hideDialog(
context);
});
}))
],
@ -254,7 +256,7 @@ class _CartOrderPageState extends State<CartOrderPage> {
? height * 0.15
: 0,
color: Colors.white,
child: OrderBottomWidget(model.addresses, height, model),
child: OrderBottomWidget(model.addresses, height, model, isLoading),
),
);
}
@ -272,8 +274,9 @@ class OrderBottomWidget extends StatefulWidget {
final List<Addresses> addresses;
final double height;
final OrderPreviewViewModel model;
final bool isLoading;
OrderBottomWidget(this.addresses, this.height, this.model);
OrderBottomWidget(this.addresses, this.height, this.model, this.isLoading);
@override
_OrderBottomWidgetState createState() => _OrderBottomWidgetState();
@ -286,7 +289,7 @@ class _OrderBottomWidgetState extends State<OrderBottomWidget> {
Widget build(BuildContext context) {
ProjectViewModel projectProvider = Provider.of(context);
return !(widget.model.cartResponse.shoppingCarts == null ||
return ! widget.isLoading && !(widget.model.cartResponse.shoppingCarts == null ||
widget.model.cartResponse.shoppingCarts.length == 0)
? Column(
crossAxisAlignment: CrossAxisAlignment.start,

Loading…
Cancel
Save