fix loading issue in splash_screen_page

barcode_scanner
Elham Rababah 5 years ago
parent 53e444d5b4
commit 9dfaee792b

@ -13,6 +13,8 @@ const NEXT_ORDER = "/Patients.svc/REST/PatientER_Delivery_NextOrder";
const GET_ALL_DELIVERD_ORDER =
'/Patients.svc/REST/PatientER_Delivery_GetAllDeliverdOrder';
const GET_ALL_ORDERS_STATUS =
'/Patients.svc/REST/PatientER_Delivery_GetAllOrderstatus';
/// Body Constant
const CHANNEL = 9;

@ -1,5 +1,4 @@
import 'package:driverapp/config/config.dart';
import 'package:driverapp/core/model/orders/deliverd_order_req_model.dart';
import 'package:driverapp/core/model/orders/deliverd_order_res_model.dart';
import 'package:driverapp/core/model/orders/next_order_request_model.dart';
import 'package:driverapp/core/model/orders/pending_orders_req_model.dart';
@ -24,13 +23,8 @@ class OrdersService extends BaseService {
bool isOrderStatusUpdated;
bool isGetPendingOrdersServices = false;
bool isGetDeliveredOrdersServices = false;
DeliverdOrderModel _requestGetDeliveredOrders = DeliverdOrderModel(
searchKey: "",
pageSize: 0,
pageIndex: 0,
latitude: "24.640000",
longitude: "46.753000",
);
int listCountDelivered;
int listCountUnDelivered;
Future getPendingOrders() async {
LocationData loc = await Utils.getLocation();
@ -84,6 +78,24 @@ class OrdersService extends BaseService {
}
}
Future getOrdersStatus() async {
hasError = false;
try {
await baseAppClient.post(GET_ALL_ORDERS_STATUS,
onSuccess: (dynamic response, int statusCode) {
listCountDelivered = response["ListCountDeliverd"];
listCountUnDelivered = response["ListCountUnDeliverd"];
}, onFailure: (String error, int statusCode) {
hasError = true;
super.error = error;
}, body: {});
} catch (e) {
hasError = true;
super.error = error;
throw e;
}
}
Future updateOrderStatus(
UpdateOrderStatusRequestModel updateOrderStatusRequestModel) async {
hasError = false;

@ -20,11 +20,9 @@ class OrdersViewModel extends BaseViewModel {
List<PendingOrdersRes> get nextOrdersList => _ordersService.nextOrdersList;
bool isBottomSheetAppear = false;
bool get isGetPendingOrdersServices =>
_ordersService.isGetPendingOrdersServices;
int get listCountDelivered => _ordersService.listCountDelivered;
bool get isGetDeliveredOrdersServices =>
_ordersService.isGetDeliveredOrdersServices;
int get listCountUnDelivered => _ordersService.listCountUnDelivered;
Future getPendingOrders() async {
setState(ViewState.Busy);
@ -32,7 +30,18 @@ class OrdersViewModel extends BaseViewModel {
if (_ordersService.hasError) {
error = _ordersService.error;
setState(ViewState.Error);
}
} else
setState(ViewState.Idle);
}
Future getOrdersStatus() async {
setState(ViewState.Busy);
await _ordersService.getOrdersStatus();
if (_ordersService.hasError) {
error = _ordersService.error;
setState(ViewState.Error);
} else
setState(ViewState.Idle);
}
Future getDeliveredOrders() async {

@ -54,17 +54,11 @@ class _DashboardScreenState extends State<DashboardScreen> {
int orderId;
return BaseView<OrdersViewModel>(
onModelReady: (model) async {
if (!model.isGetPendingOrdersServices) {
await model.getPendingOrders();
}
if (!model.isGetDeliveredOrdersServices) {
await model.getDeliveredOrders();
}
},
builder: (BuildContext context, OrdersViewModel model, Widget child) =>
AppScaffold(
baseViewModel: model,
body: SingleChildScrollView(
child: Container(
height: MediaQuery.of(context).orientation == Orientation.landscape
@ -193,7 +187,8 @@ class _DashboardScreenState extends State<DashboardScreen> {
),
),
Text(
model.orders.length.toString(),
model.listCountUnDelivered
.toString(),
style: TextStyle(
color: Colors.white,
fontSize: SizeConfig
@ -313,12 +308,13 @@ class _DashboardScreenState extends State<DashboardScreen> {
),
),
Text(
model.deliverdOrders.length
model.listCountDelivered
.toString(),
style: TextStyle(
color: Colors.white,
fontSize: SizeConfig
.textMultiplier *
.textMultiplier *
3.0),
),
Text(

@ -17,11 +17,12 @@ class _DeliverdOrdersPageState extends State<DeliverdOrdersPage> {
@override
Widget build(BuildContext context) {
return BaseView<OrdersViewModel>(
// onModelReady: (model) => model.getDeliveredOrders(),
onModelReady: (model) => model.getDeliveredOrders(),
builder: (BuildContext context, OrdersViewModel model, Widget child) =>
AppScaffold(
isShowAppBar: true,
appBarTitle: 'Delivered List',
baseViewModel: model,
titleColor: Colors.black,
body: Column(
children: <Widget>[

@ -18,9 +18,10 @@ class _OrdersListScreenState extends State<OrdersListScreen> {
@override
Widget build(BuildContext context) {
return BaseView<OrdersViewModel>(
// onModelReady: (model) => model.getPendingOrders(),
onModelReady: (model) => model.getPendingOrders(),
builder: (BuildContext context, OrdersViewModel model, Widget child) =>
AppScaffold(
baseViewModel: model,
isShowAppBar: true,
appBarTitle: TranslationBase.of(context).yourDeliveryQue,
titleColor: Colors.black,

@ -16,18 +16,9 @@ class SplashScreenPage extends StatefulWidget {
class _SplashScreenPageState extends State<SplashScreenPage> {
OrdersViewModel _ordersViewModel = locator<OrdersViewModel>();
// AuthenticationService _authenticationService =
// locator<AuthenticationService>();
startTime() async {
// if (_authenticationService.isLogin) {
await _ordersViewModel.getPendingOrders();
await _ordersViewModel.getDeliveredOrders();
// }
await _ordersViewModel.getOrdersStatus();
navigationPage();
// var _duration = new Duration(seconds: 5);
// return new Timer(_duration, navigationPage);
}
@override

Loading…
Cancel
Save