first step qr reader

merge-requests/10/head
Elham Rababah 5 years ago
parent 5e983bd77d
commit b0a207008e

@ -1,15 +1,22 @@
import 'package:flutter/cupertino.dart';
const MAX_SMALL_SCREEN = 660;
/// End points
const BASE_URL = 'https://uat.hmgwebservices.com/Services';
const GET_PROJECT = '/Lists.svc/REST/GetProject';
const LOGIN = "/Authentication.svc/REST/CheckDriverAuthentication";
const GET_ALL_ORDERS = '/Patients.svc/REST/PatientER_Delivery_GetAllOrder';
const SCAN_QR = '/Patients.svc/REST/PatientER_Delivery_OrderInsert';
/// Body Constant
const CHANNEL = 9;
/// design constant
const MAX_SMALL_SCREEN = 660;
const GET_ALL_ORDERS = '/Patients.svc/REST/PatientER_Delivery_GetAllOrder';
class AppGlobal {
static BuildContext context;
}

@ -0,0 +1,44 @@
class ScanQrRequestModel {
int deliveryOrderID;
int driverID;
int createdBy;
int channel;
int groupID;
String tokenID;
String userID;
String mobileNo;
ScanQrRequestModel(
{this.deliveryOrderID,
this.driverID,
this.createdBy,
this.channel,
this.groupID,
this.tokenID,
this.userID,
this.mobileNo});
ScanQrRequestModel.fromJson(Map<String, dynamic> json) {
deliveryOrderID = json['DeliveryOrderID'];
driverID = json['DriverID'];
createdBy = json['CreatedBy'];
channel = json['Channel'];
groupID = json['GroupID'];
tokenID = json['TokenID'];
userID = json['UserID'];
mobileNo = json['MobileNo'];
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = new Map<String, dynamic>();
data['DeliveryOrderID'] = this.deliveryOrderID;
data['DriverID'] = this.driverID;
data['CreatedBy'] = this.createdBy;
data['Channel'] = this.channel;
data['GroupID'] = this.groupID;
data['TokenID'] = this.tokenID;
data['UserID'] = this.userID;
data['MobileNo'] = this.mobileNo;
return data;
}
}

@ -1,6 +1,8 @@
import 'dart:convert';
import 'package:driverapp/config/config.dart';
import 'package:driverapp/config/shared_pref_kay.dart';
import 'package:driverapp/core/model/authentication/authenticated_user.dart';
import 'package:driverapp/uitl/app_shared_preferences.dart';
import 'package:driverapp/uitl/utils.dart';
import 'package:http/http.dart' as http;
@ -23,8 +25,17 @@ class BaseAppClient {
String url = BASE_URL + endPoint;
try {
//Map profile = await sharedPref.getObj(DOCTOR_PROFILE);
// String token = await sharedPref.getString(TOKEN);
Map profile = await sharedPref.getObject(USER_PROFILE);
String token = await sharedPref.getString(TOKEN);
if (profile != null) {
AuthenticatedUser doctorProfile = AuthenticatedUser.fromJson(profile);
body['DriverID'] = doctorProfile?.userID;
body['CreatedBy'] = doctorProfile?.userID;
body['UserID'] = doctorProfile?.userID;
body['MobileNo'] = doctorProfile?.mobileNumber;
}
body['Channel'] = CHANNEL;
print("URL : $url");
print("Body : ${json.encode(body)}");

@ -1,10 +1,12 @@
import 'package:driverapp/config/config.dart';
import 'package:driverapp/core/model/pending_orders/pending_orders_model.dart';
import 'package:driverapp/core/model/scan_qr/scan_qr_request_model.dart';
import 'package:driverapp/core/service/base_service.dart';
class PendingOrdersService extends BaseService {
List<PendingOrders> _orders = List();
List<PendingOrders> get orders => _orders;
bool isOrderInserted;
PendingOrders _requestGetPendingOrders = PendingOrders(
driverID: 1111,
@ -14,9 +16,11 @@ class PendingOrdersService extends BaseService {
tokenID: "@dm!n",
userID: "1111",
mobileNo: "0541710575",
firstName: "dfdfdf"
);
Future getPendingOrders() async {
hasError = false;
await baseAppClient.post(GET_ALL_ORDERS,
onSuccess: (dynamic response, int statusCode) {
_orders.clear();
@ -28,4 +32,26 @@ class PendingOrdersService extends BaseService {
super.error = error;
}, body: _requestGetPendingOrders.toJson());
}
Future insertOrder() async {
ScanQrRequestModel _scanQrRequestModel = ScanQrRequestModel(deliveryOrderID: 129, groupID: 0);
hasError = false;
try {
await baseAppClient.post(SCAN_QR,
onSuccess: (dynamic response, int statusCode) {
isOrderInserted = response["PatientER_Delivery_IsOrderInserted"];
}, onFailure: (String error, int statusCode) {
hasError = true;
super.error = error;
}, body: _scanQrRequestModel.toJson());
} catch (e) {
hasError = true;
super.error = error;
throw e;
}
}
}

@ -18,4 +18,15 @@ class PendingOrdersViewModel extends BaseViewModel {
} else
setState(ViewState.Idle);
}
Future insertOrder() async {
setState(ViewState.ErrorLocal);
await _pendingOrdersService.insertOrder();
if (_pendingOrdersService.hasError) {
error = _pendingOrdersService.error;
setState(ViewState.ErrorLocal);
} else
setState(ViewState.Idle);
}
}

@ -1,5 +1,8 @@
import 'package:barcode_scan/platform_wrapper.dart';
import 'package:driverapp/config/size_config.dart';
import 'package:driverapp/core/enum/viewstate.dart';
import 'package:driverapp/core/viewModels/pending_orders_view_model.dart';
import 'package:driverapp/uitl/utils.dart';
import 'package:flutter/material.dart';
import '../base/base_view.dart';
import 'package:flutter/cupertino.dart';
@ -238,10 +241,15 @@ class _DashboardScreenState extends State<DashboardScreen> {
mainAxisAlignment: MainAxisAlignment.center,
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
Text(
'SCAN',
style: TextStyle(
fontSize: 35.0, color: Colors.white),
InkWell(
onTap:(){
_scanQrAndGetPatient(context,model);
},
child: Text(
'SCAN',
style: TextStyle(
fontSize: 35.0, color: Colors.white),
),
),
Padding(
padding: EdgeInsets.only(top: 6.0),
@ -392,4 +400,20 @@ class _DashboardScreenState extends State<DashboardScreen> {
),
);
}
_scanQrAndGetPatient(BuildContext context,PendingOrdersViewModel model) async {
/// When give qr we will change this method to get data
/// var result = await BarcodeScanner.scan();
/// int patientID = get from qr result
var result = await BarcodeScanner.scan();
// if (result.rawContent == "") {
List<String> listOfParams = result.rawContent.split(',');
String patientType = "1";
await model.insertOrder();
if (model.state == ViewState.ErrorLocal) {
Utils.showErrorToast(model.error);
}
}
}

Loading…
Cancel
Save