} //nothing here /// <summary> /// CreditCardControl_cardInserted - event handler for card reader - event have track data /// </summary> /// <param name="sender"></param> /// <param name="e"></param> void CreditCardControl_cardInserted(object sender, AxotCreditCard.__creditCardControl_cardInsertedEvent e) { try { //stop looking for card insertions //cardscan.stopScan(); string Track1 = e.track1; string Track2 = e.track2; string Track3 = e.track3; CreditCardReadEventArgs args = null; cardData CardData = null; //Test for errors in the card read if ((Track1 == "" && Track2 == "" && Track3 == "") || (Track1 == "Error" || Track2 == "Error" || Track3 == "Error")) { Program.logEvent("Bad Card Read:"); //Program.logEvent(" Track1: " + Track1); uncomment for debug only -do not keep customer info in logs //Program.logEvent(" Track2: " + Track2); //Program.logEvent(" Track3: " + Track3); //send message about bad read and then do a retry from customForm CardData = new keyCabinetCardData("", "", ""); args = new CreditCardReadEventArgs(CardData); args.GoodRead = false; } else { Program.logEvent("Good ID Card Read:"); //Program.logEvent(" Track1: " + Track1); uncomment for debug only -do not keep customer info in logs //Program.logEvent(" Track2: " + Track2); //Program.logEvent(" Track3: " + Track3); ////pull the card number and name out of the card tracks CardData = new keyCabinetCardData(Track1, Track2, Track3); //or substitute for specialized client args = new CreditCardReadEventArgs(CardData); args.GoodRead = true; } ScanDataRecieved.Invoke(this, args); } catch (Exception ex) { Program.logEvent("cardReaderTask - exception - " + ex.Message); CreditCardReadEventArgs args = null; cardData CardData = null; CardData = new keyCabinetCardData("", "", ""); args = new CreditCardReadEventArgs(CardData); args.GoodRead = false; ScanDataRecieved.Invoke(this, args); //throw new Exception("cardReaderTask - exception - " + ex.Message); } }
} //base class - cast to desired class public CreditCardReadEventArgs(cardData readData) { CardData = readData; }