Merge branch 'development_new_design_2.0' into Fatima-New-Design

merge-update-with-lab-changes
Fatimah Alshammari 4 years ago
commit cd37941109

@ -543,7 +543,7 @@ const GET_CUSTOMERS_ADDRESSES = "Customers/";
const SUBSCRIBE_PRODUCT = "subscribe?";
const GET_ORDER = "orders?";
const GET_ORDER_DETAILS = "orders/";
const ADD_CUSTOMER_ADDRESS = "epharmacy/api/addcustomeraddress";
const ADD_CUSTOMER_ADDRESS = "addcustomeraddress";
const EDIT_CUSTOMER_ADDRESS = "epharmacy/api/editcustomeraddress";
const DELETE_CUSTOMER_ADDRESS = "epharmacy/api/deletecustomeraddress";
const GET_ADDRESS = "Customers/";

@ -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);
}

@ -5,6 +5,8 @@ import 'package:diplomaticquarterapp/core/model/pharmacy/pharmacy_categorise.dar
import 'package:diplomaticquarterapp/core/model/pharmacy/scan_qr_model.dart';
import 'package:diplomaticquarterapp/core/service/pharmacy_categorise_service.dart';
import 'package:diplomaticquarterapp/locator.dart';
import 'package:diplomaticquarterapp/uitl/gif_loader_dialog_utils.dart';
import 'package:flutter/cupertino.dart';
import 'base_view_model.dart';
@ -97,23 +99,29 @@ class PharmacyCategoriseViewModel extends BaseViewModel {
setState(ViewState.Idle);
}
Future getCategoriseParent({String i, int pageIndex, bool isLoading}) async {
Future getCategoriseParent(
{String i, int pageIndex, bool isLoading, BuildContext context}) async {
hasError = false;
// _insuranceCardService.clearInsuranceCard();
setState(ViewState.Busy);
// GifLoaderDialogUtils.showMyDialog(context);
await _pharmacyCategoriseService.getCategoriseParent(id: i);
if (_pharmacyCategoriseService.hasError) {
error = _pharmacyCategoriseService.error;
setState(ViewState.ErrorLocal);
} else
await getBrands(id: i);
await getParentProducts(i: i, pageIndex: pageIndex, isLoading: isLoading);
await getParentProducts(
i: i, pageIndex: pageIndex, isLoading: isLoading, context: context);
// GifLoaderDialogUtils.showMyDialog(context);
}
Future getParentProducts({String i, int pageIndex, bool isLoading}) async {
Future getParentProducts(
{String i, int pageIndex, bool isLoading, BuildContext context}) async {
hasError = false;
// _insuranceCardService.clearInsuranceCard();
setState(ViewState.BusyLocal);
//GifLoaderDialogUtils.showMyDialog(context);
await _pharmacyCategoriseService.getParentProducts(
id: i, pageNumber: pageIndex, isLoading: isLoading);
if (_pharmacyCategoriseService.hasError) {
@ -121,6 +129,7 @@ class PharmacyCategoriseViewModel extends BaseViewModel {
setState(ViewState.ErrorLocal);
} else
setState(ViewState.Idle);
//GifLoaderDialogUtils.hideDialog(context);
}
Future getSubCategorise({String i}) async {

File diff suppressed because it is too large Load Diff

@ -9,6 +9,7 @@ import 'package:diplomaticquarterapp/pages/pharmacies/widgets/ProductOrderItem.d
import 'package:diplomaticquarterapp/pages/pharmacy/pharmacyAddresses/PharmacyAddresses.dart';
import 'package:diplomaticquarterapp/uitl/app_toast.dart';
import 'package:diplomaticquarterapp/uitl/gif_loader_dialog_utils.dart';
import 'package:diplomaticquarterapp/uitl/navigation_service.dart';
import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
import 'package:diplomaticquarterapp/uitl/utils.dart';
import 'package:diplomaticquarterapp/widgets/buttons/GestureIconButton.dart';
@ -20,6 +21,7 @@ import 'package:flutter/material.dart';
import 'package:http/http.dart';
import 'package:provider/provider.dart';
import '../../../../locator.dart';
import 'cart-order-preview.dart';
class CartOrderPage extends StatefulWidget {
@ -55,6 +57,9 @@ class _CartOrderPageState extends State<CartOrderPage> {
isMainPharmacyPages: true,
showPharmacyCart: false,
baseViewModel: model,
backButtonTab: () {
widget.changeTab(0);
},
backgroundColor: Colors.white,
body: NetworkBaseView(
isLoading: isLoading,
@ -94,32 +99,34 @@ class _CartOrderPageState extends State<CartOrderPage> {
: 0,
(index) => ProductOrderItem(
model.cartResponse
.shoppingCarts[index], () {
print(model.cartResponse
.shoppingCarts[index].quantity);
model
.changeProductQuantity(model
.cartResponse
.shoppingCarts[index], () async {
GifLoaderDialogUtils.showMyDialog(
context);
await model.changeProductQuantity(model
.cartResponse.shoppingCarts[index]);
if (model.state != ViewState.Error) {
// appScaffold.appBar.badgeUpdater(
// '${value.quantityCount ?? 0}');
}
if (model.state ==
ViewState.ErrorLocal) {
Utils.showErrorToast(model.error);
}
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);
}
});
}, () {
model
.deleteProduct(model.cartResponse
.shoppingCarts[index])
.then((value) {
if (model.state != ViewState.Error) {
// appScaffold.appBar.badgeUpdater(
// '${value.quantityCount ?? 0}');
}
GifLoaderDialogUtils.hideDialog(
context);
});
}))
],
@ -249,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),
),
);
}
@ -267,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();
@ -281,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,

File diff suppressed because it is too large Load Diff

@ -43,7 +43,7 @@ dependencies:
flutter_html: ^1.2.0
# Pagnation
pull_to_refresh: ^1.6.2
pull_to_refresh: 1.6.2
# Native
flutter_device_type: ^0.2.0

Loading…
Cancel
Save