make the scan using barcode and qr code

barcode_scanner
Elham Rababah 5 years ago
parent cc3173d269
commit 001124b271

@ -45,5 +45,7 @@
<string>Needed to access location</string>
<key>NSLocationWhenInUseUsageDescription</key>
<string>Needed to access location</string>
<key>NSCameraUsageDescription</key>
<string>Camera permission is required for barcode scanning.</string>
</dict>
</plist>

@ -1,4 +1,3 @@
import 'package:barcode_scan/platform_wrapper.dart';
import 'package:driverapp/config/config.dart';
import 'package:driverapp/config/size_config.dart';
import 'package:driverapp/core/enum/viewstate.dart';
@ -17,6 +16,8 @@ import 'package:driverapp/widgets/others/app_scaffold_widget.dart';
import 'package:driverapp/widgets/others/network_base_view.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:flutter_barcode_scanner/flutter_barcode_scanner.dart';
import 'package:hexcolor/hexcolor.dart';
import 'package:provider/provider.dart';
@ -564,20 +565,24 @@ class _DashboardScreenState extends State<DashboardScreen> {
}
_scanQrAndGetPatient(BuildContext context, OrdersViewModel 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(',');
ScanQrRequestModel _scanQrRequestModel = ScanQrRequestModel(
deliveryOrderID: int.parse(listOfParams[0]), groupID: 0);
String patientType = "1";
await model.insertOrder(_scanQrRequestModel);
if (model.state == ViewState.ErrorLocal) {
Utils.showErrorToast(model.error);
} else {
AppToast.showSuccessToast(message: "Order Added");
String barcodeScanRes;
try {
barcodeScanRes = await FlutterBarcodeScanner.scanBarcode(
"#ff6666", "Cancel", true, ScanMode.QR);
print(barcodeScanRes);
ScanQrRequestModel _scanQrRequestModel = ScanQrRequestModel(
deliveryOrderID: int.parse(barcodeScanRes), groupID: 0);
String patientType = "1";
await model.insertOrder(_scanQrRequestModel);
if (model.state == ViewState.ErrorLocal) {
Utils.showErrorToast(model.error);
} else {
AppToast.showSuccessToast(message: "Order Added");
}
} on PlatformException {
Utils.showErrorToast("Failed to get platform version.");
// barcodeScanRes = 'Failed to get platform version.';
}
}
}

@ -76,6 +76,9 @@ dependencies:
gradient_app_bar: ^0.1.3
app_settings: ^4.0.3
#Barcode Scanner
flutter_barcode_scanner: ^1.0.1

Loading…
Cancel
Save