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 = const GET_ALL_DELIVERD_ORDER =
'/Patients.svc/REST/PatientER_Delivery_GetAllDeliverdOrder'; '/Patients.svc/REST/PatientER_Delivery_GetAllDeliverdOrder';
const GET_ALL_ORDERS_STATUS =
'/Patients.svc/REST/PatientER_Delivery_GetAllOrderstatus';
/// Body Constant /// Body Constant
const CHANNEL = 9; const CHANNEL = 9;

@ -1,5 +1,4 @@
import 'package:driverapp/config/config.dart'; 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/deliverd_order_res_model.dart';
import 'package:driverapp/core/model/orders/next_order_request_model.dart'; import 'package:driverapp/core/model/orders/next_order_request_model.dart';
import 'package:driverapp/core/model/orders/pending_orders_req_model.dart'; import 'package:driverapp/core/model/orders/pending_orders_req_model.dart';
@ -24,13 +23,8 @@ class OrdersService extends BaseService {
bool isOrderStatusUpdated; bool isOrderStatusUpdated;
bool isGetPendingOrdersServices = false; bool isGetPendingOrdersServices = false;
bool isGetDeliveredOrdersServices = false; bool isGetDeliveredOrdersServices = false;
DeliverdOrderModel _requestGetDeliveredOrders = DeliverdOrderModel( int listCountDelivered;
searchKey: "", int listCountUnDelivered;
pageSize: 0,
pageIndex: 0,
latitude: "24.640000",
longitude: "46.753000",
);
Future getPendingOrders() async { Future getPendingOrders() async {
LocationData loc = await Utils.getLocation(); 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( Future updateOrderStatus(
UpdateOrderStatusRequestModel updateOrderStatusRequestModel) async { UpdateOrderStatusRequestModel updateOrderStatusRequestModel) async {
hasError = false; hasError = false;

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

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

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

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

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

Loading…
Cancel
Save