public override void OnNavigatedTo(Dictionary <string, object> parameters, NavigationMode mode) { if (_qrScanner != null && !_qrScanner.IsStarted) { _qrScanner.StartAsync(); } Employee = (Employee)parameters["Employee"]; if (mode == NavigationMode.Back) { if (SessionState.ContainsKey("DevicesToTake")) { _devicesToTake = (ObservableCollection <Device>)SessionState["DevicesToTake"]; } if (SessionState.ContainsKey("DevicesToReturn")) { _devicesToReturn = (ObservableCollection <Device>)SessionState["DevicesToReturn"]; } UpdateDeviceGroups(); } LoadData(); LogOutService.Restart(); }
public override void OnNavigatedTo(Dictionary <string, object> parameters, NavigationMode mode) { Device = (Device)parameters["Device"]; LoadData(); LogOutService.Restart(); }
private void UserTimeoutViewModel_KeyDown(CoreWindow sender, KeyEventArgs args) { Debug.WriteLine(args.VirtualKey.ToString()); if (_badgeId.Length <= AppConst.MAX_BADGEID_LENGTH) { var n = Math.Abs((int)VirtualKey.Number0 - (int)args.VirtualKey); if (_badgeId.Length < 3 && n != 0) { return; } if (_badgeId.Length >= 3 && !_badgeId.StartsWith("000")) { return; } _badgeId += n; } if (_badgeId.Length == AppConst.MAX_BADGEID_LENGTH && !_scanned) { _scanned = true; CoreWindow.GetForCurrentThread().KeyDown -= UserTimeoutViewModel_KeyDown; if (Settings.CurrentSessionBadgeId == _badgeId) { _remainingTimer.Stop(); _remainingTimer.Tick -= RemainingTimerTick; Popup.Current.Close(); LogOutService.Restart(); } _scanned = false; _badgeId = string.Empty; CoreWindow.GetForCurrentThread().KeyDown += UserTimeoutViewModel_KeyDown; } }
public override void OnNavigatedTo(Dictionary <string, object> parameters, NavigationMode mode) { LogOutService.Restart(); }
private async void RecognizeAsync(string qrCodeContent) { LogOutService.Restart(); if (ScanningState == ScanningState.Scanning) { return; } try { UpdateScanningState(ScanningState.Scanning); TaskStarted("scanning"); int id; if (!int.TryParse(qrCodeContent, out id)) { UpdateScanningState(ScanningState.Error, "Не удалось распознать устройство"); await Task.Delay(3000); UpdateScanningState(ScanningState.Waiting); _qrScanner.StartScanning(); return; } if (!_devicesToTake.Any(x => x.Id == id) && !_devicesToReturn.Any(x => x.Id == id)) { var device = await _deviceService.GetDeviceByIdAsync(id); if (string.IsNullOrEmpty(device.BadgeId)) { _devicesToTake.Add(device); } else { _devicesToReturn.Add(device); } UpdateDeviceGroups(); UpdateScanningState(ScanningState.DeviceInBucket); await Task.Delay(1000); } else { UpdateScanningState(ScanningState.Error, "Устройство уже в списке"); await Task.Delay(3000); } UpdateScanningState(ScanningState.Waiting); _qrScanner.StartScanning(); } catch (Exception ex) { Debug.WriteLine(ex); UpdateScanningState(ScanningState.Error, "Не удалось отсканировать устройство"); await Task.Delay(3000); UpdateScanningState(ScanningState.Scanning); _qrScanner.StartScanning(); } finally { TaskFinished("scanning"); } }