You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
57 lines
1.8 KiB
Dart
57 lines
1.8 KiB
Dart
import 'dart:convert';
|
|
|
|
// import 'package:barcode_scan/platform_wrapper.dart';
|
|
import 'package:diplomaticquarterapp/config/shared_pref_kay.dart';
|
|
import 'package:diplomaticquarterapp/core/enum/viewstate.dart';
|
|
import 'package:diplomaticquarterapp/core/model/qr/qr_parking_model.dart';
|
|
import 'package:diplomaticquarterapp/core/service/qr_service.dart';
|
|
import 'package:diplomaticquarterapp/core/viewModels/base_view_model.dart';
|
|
import '../../locator.dart';
|
|
|
|
class QrViewModel extends BaseViewModel {
|
|
QrService _qrService = locator<QrService>();
|
|
bool isSavePark = false;
|
|
QRParkingModel qrParkingModel;
|
|
|
|
readQr() async {
|
|
//TODO fix the barcode scan
|
|
// var result = await BarcodeScanner.scan();
|
|
// var data = json.decode(result.rawContent);
|
|
// var qRParkingID = data['QRParkingID'];
|
|
// setState(ViewState.BusyLocal);
|
|
// await _qrService.getQRParkingByID(qRParkingID);
|
|
// if (_qrService.hasError) {
|
|
// error = _qrService.error;
|
|
// setState(ViewState.ErrorLocal);
|
|
// } else {
|
|
// if (_qrService.qRParkingList.length > 0) {
|
|
// qrParkingModel = _qrService.qRParkingList[0];
|
|
// await sharedPref.setObject(IS_GO_TO_PARKING, qrParkingModel);
|
|
// isSavePark = true;
|
|
// setState(ViewState.Idle);
|
|
// } else {
|
|
// error = "Invalid Qr Code";
|
|
// setState(ViewState.ErrorLocal);
|
|
// }
|
|
// }
|
|
}
|
|
|
|
getIsSaveParking() async {
|
|
setState(ViewState.Busy);
|
|
var parking = await sharedPref.getObject(IS_GO_TO_PARKING);
|
|
if (parking != null) {
|
|
isSavePark = true;
|
|
qrParkingModel = QRParkingModel.fromJson(parking);
|
|
}
|
|
setState(ViewState.Busy);
|
|
}
|
|
|
|
clearParking() async {
|
|
setState(ViewState.Busy);
|
|
await sharedPref.setObject(IS_GO_TO_PARKING, null);
|
|
isSavePark = false;
|
|
qrParkingModel = null;
|
|
setState(ViewState.Idle);
|
|
}
|
|
}
|