public ControllerLogin() { _rfidDetector = new RadioFrequency(); View.Authenticate += ViewOnAuthenticate; // Fill in the RFID tag automatically on scan. _rfidDetector.Tag += (sender, args) => View.RFID = args.Value; }
public ControllerScanRFID() { rfid = new RadioFrequency(); // Retrieve payment status of scanned Visitor. rfid.Tag += (sender, args) => { IEnumerable <Visitor> wristbands = Visitor.Select("VISITORCODE = " + args.Value.ToSqlFormat()); // If Visitor doesn't occur in database. if (!wristbands.Any()) { // Show unknown Visitor message. FormMain.Form.Open <ControllerUnknownWristband>(); } else { // Visitor does exist in database. IEnumerable <Reservation> reservation = Reservation.Select("RESERVATIONID = " + wristbands.First().ReservationId); if (reservation.First().PaymentStatus) { // if payment status is OK Visitor visitor = wristbands.First(); if (!visitor.IsOnSite) { // User is not yet on site but checkin is successful: access granted, update database to set guest as present (on site). visitor.IsOnSite = true; visitor.Update(); FormMain.Form.Open <ControllerLocationDetails>(new KeyValuePair <string, object>("visitor", wristbands.First())); } else { // User was already on site but checked out: update database to set guest as away (not on site). visitor.IsOnSite = false; visitor.Update(); FormMain.Form.Open <ControllerVisitorExit>(); } } // Access denied due to negative payment status. else { FormMain.Form.Open <ControllerAccessDenied>(); } } }; }
/// <summary> /// Returns the <see cref="RadioFrequency"/> and <see cref="RadioModulation"/> as a nice clean string for briefings. /// </summary> /// <returns>A string with radio frequency and modulation</returns> public string GetRadioAsString() { return($"{RadioFrequency.ToString("F1", NumberFormatInfo.InvariantInfo)} {RadioModulation}"); }