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;
        }
Beispiel #2
0
        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);
        }