private void OnForm_KeyPress(object sender, KeyPressEventArgs e) { switch (e.KeyChar) { case (char)Keys.Enter: string keyboardScan = keyboardScanBuffer.ToString(); keyboardScanBuffer.Clear(); // IF scan is a MSR if ((keyboardScan.StartsWith(MSR.StartTrack, StringComparison.OrdinalIgnoreCase) || keyboardScan.StartsWith(MSR.StartTrack2, StringComparison.OrdinalIgnoreCase)) && (keyboardScan.EndsWith(MSR.EndTrack, StringComparison.OrdinalIgnoreCase))) { string[] tracks = MSR.SplitTrackData(keyboardScan); if (!string.IsNullOrWhiteSpace(tracks[1])) { ICardInfo cardInfo = PosApplication.Instance.BusinessLogic.Utility.CreateCardInfo(); // We just need card number from track 2 cardInfo.Track2 = tracks[1]; if (cardInfo.CardNumber.Length > 0) { IExtendedLogOnInfo extendedLogOnInfo = new DE.ExtendedLogOnInfo() { LogOnKey = cardInfo.CardNumber, LogOnType = ExtendedLogOnType.MagneticStripeReader, Message = ApplicationLocalizer.Language.Translate(99409) /*Card swipe accepted*/ }; HandleExtendedLogOnInfo(extendedLogOnInfo); } } } else // If not, treat it as barcode scan. { IExtendedLogOnInfo extendedLogOnInfo = new DE.ExtendedLogOnInfo() { LogOnKey = keyboardScan, LogOnType = ExtendedLogOnType.Barcode, Message = ApplicationLocalizer.Language.Translate(99408) /*Bar code accepted*/ }; HandleExtendedLogOnInfo(extendedLogOnInfo); } break; default: keyboardScanBuffer.Append(e.KeyChar); break; } e.Handled = true; }
private void numPad_CardSwept(ICardInfo cardInfo) { if (!Functions.StaffCardLogOn) { return; } IExtendedLogOnInfo extendedLogOnInfo = new EF.ExtendedLogOnInfo() { LogOnKey = cardInfo.CardNumber, LogOnType = ExtendedLogOnType.MagneticStripeReader, PasswordRequired = Functions.StaffCardLogOnRequiresPassword }; ProcessExtendedLogOnKey(extendedLogOnInfo); }