/// <summary> /// Initializes a new instance of the <see cref="DelControlViewModel"/> class. /// </summary> /// <param name="pageService">The page service.</param> /// <param name="fileInfo">The file information.</param> public DelControlViewModel(IPageService pageService, FileInfoDeliveryModel fileInfo) { _databaseAccess = new DatabaseAccess(); HandleTranslation(_appViewModel.DefaultedCultureInfo); LanguageSelected = _appViewModel.DefaultedCultureInfo; PageService = pageService; SetValueByBinding(fileInfo); _fileInfo = fileInfo; ScanBtn = new Command(ScanBarcode); GetDeliveryItem(_fileInfo.File_number); GetCountOfRubric(_fileInfo.File_number); GoToSynchronation = new Command(Synchronation); Back = new Command(GoBack); BarCodeScannerViewModel = new BarCodeScannerViewModel(); }
/// <summary> /// Scans the barcode. /// it launches barcode scanner and scan barcode of items /// take details of barcode from database and pass it via /// parameter to next page /// </summary> public async void ScanBarcode() { var scannedText = await BarCodeScannerViewModel.BarcodePage(new PageService()); if (scannedText != null) { _item = _databaseAccess.GetItemDetails(scannedText); if (_item.Count > 0 && _item[0].AlreadyScanned.Equals("False")) { await PageService.PushAsync(new DelItem(_fileInfo, _item[0])); } else if (_item.Count > 0 && _item[0].AlreadyScanned.Equals("True")) { await PageService.DisplayAlert(TitleAlreadyScannedBarcode, MessageScanValidBarcode, "OK"); } else { await PageService.DisplayAlert(TitleWrongBarcode, MessageScanValidBarcode, "OK"); } } }