// Delete file image QRCode after print Supervisee particulars to avoid over memory. The image QRCode is auto generate to show on view SuperviseeParticulars public void DeleteQRCodeImageFileTemp() { Session session = Session.Instance; Trinity.BE.User currentUser = (Trinity.BE.User)session[CommonConstants.USER_LOGIN]; if (currentUser != null) { Trinity.BE.User supervisee = null; if (currentUser.Role == EnumUserRoles.DutyOfficer) { supervisee = (Trinity.BE.User)session[CommonConstants.SUPERVISEE]; } else { supervisee = currentUser; } if (supervisee != null) { string fileName = String.Format("{0}/Temp/{1}", CSCallJS.curDir, "QRCode_" + supervisee.NRIC + ".png"); if (System.IO.File.Exists(fileName)) { System.IO.File.Delete(fileName); } } } }
//private void GetCardInfoSucceeded(string cardUID) //{ // if (_isSmartCardToLogin) // { // // get local user info // DAL_User dAL_User = new DAL_User(); // var user = dAL_User.GetUserBySmartCardId(cardUID); // if (user != null) // { // if (user.Role == EnumUserRoles.DutyOfficer) // { // Session session = Session.Instance; // session.IsSmartCardAuthenticated = true; // Session.Instance[CommonConstants.USER_LOGIN] = user; // this.LayerWeb.RunScript("$('.status-text').css('color','#000').text('Your smart card is authenticated.');"); // // Stop SCardMonitor // SmartCardReaderUtil.Instance.StopSmartCardMonitor(); // // raise succeeded event // SmartCard_OnSmartCardSucceeded(); // } // else // { // SmartCard_OnSmartCardFailed("You do not have permission to access this page"); // } // } // else // { // // raise failed event // SmartCard_OnSmartCardFailed("Unable to read your smart card"); // } // } //} private void Fingerprint_OnFingerprintSucceeded() { _fingerprintFailed = 0; // // Login successfully // // Create a session object to store UserLogin information Session session = Session.Instance; session.IsFingerprintAuthenticated = true; Trinity.BE.User user = (Trinity.BE.User)session[CommonConstants.USER_LOGIN]; if (user.Role == EnumUserRoles.DutyOfficer) { LayerWeb.RunScript("$('.status-text').css('color','#000').text('Fingerprint authentication is successful.');"); //APIUtils.SignalR.GetLatestNotifications(); Trinity.SignalR.Client.Instance.UserLoggedIn(((Trinity.BE.User)Session.Instance[CommonConstants.USER_LOGIN]).UserId); Thread.Sleep(400); NavigateTo(NavigatorEnums.Queue); } else { MessageBox.Show("You do not have permission to access this page."); //Logout(); session.IsSmartCardAuthenticated = false; session.IsFingerprintAuthenticated = false; session[CommonConstants.USER_LOGIN] = null; session[CommonConstants.PROFILE_DATA] = null; NavigateTo(NavigatorEnums.Authentication_SmartCard); } }
private void Main_OnFacialRecognitionFailed() { FacialRecognition.Instance.OnFacialRecognitionFailed -= Main_OnFacialRecognitionFailed; FacialRecognition.Instance.OnFacialRecognitionSucceeded -= Main_OnFacialRecognitionSucceeded; FacialRecognition.Instance.OnFacialRecognitionProcessing -= Main_OnFacialRecognitionProcessing; this.Invoke((MethodInvoker)(() => { FacialRecognition.Instance.Dispose(); })); Session session = Session.Instance; Trinity.BE.User user = (Trinity.BE.User)session[CommonConstants.USER_LOGIN]; string errorMessage = "User '" + user.Name + "' cannot complete facial authentication"; Trinity.SignalR.Client.Instance.SendToAppDutyOfficers(user.UserId, "Facial authentication failed", errorMessage, EnumNotificationTypes.Error); // show message box to user MessageBox.Show("Facial Recognition failed.\nPlease report to the Duty Officer", "Authentication Failed", MessageBoxButtons.OK, MessageBoxIcon.Error); // navigate to smartcard login page NavigateTo(NavigatorEnums.Authentication_SmartCard); // reset counter _fingerprintFailed = 0; }
private void CloseMUBDoor_Callback(object sender, EnumMUBDoorStatus status) { LEDStatusLightingUtil.Instance.MUBDoorStatusChanged -= CloseMUBDoor_Callback; if (status == EnumMUBDoorStatus.FullyClosed) { // Complete test. Remove queue number from Queue Monitor Session session = Session.Instance; Trinity.BE.User currentUser = (Trinity.BE.User)session[CommonConstants.USER_LOGIN]; if (currentUser == null) { // Check why current user is null this._web.RunScript("$('.status-text').css('color','#000').text('The current user is null');"); return; } // Remove queue number and inform others //new DAL_QueueDetails().RemoveQueueFromSSK(currentUser.UserId); Trinity.SignalR.Client.Instance.QueueCompleted(currentUser.UserId); //lblStatus.Text = "The door is fully close"; this._web.RunScript("$('.status-text').css('color','#000').text('MUB and TT Labels Printing Completed. Logging out...');"); //btnConfirm.Text = "Initialize MUB Applicator"; this._web.RunScript("$('#ConfirmBtn').html('Logout');"); //btnConfirm.Enabled = true; //this._web.RunScript("$('.ConfirmBtn').prop('disabled', false);"); //btnConfirm.Tag = "0"; this._web.RunScript("$('#lblNextAction').text('');"); Thread.Sleep(2000); LogOut(); } }
private void OnCardInserted(object sender, CardStatusEventArgs e) { SmartCardReaderUtil sCardMonitor = SmartCardReaderUtil.Instance; string cardUID = sCardMonitor.GetCardUID(); if (!string.IsNullOrEmpty(cardUID)) { // Scan smart card successfully DAL_User dalUser = new DAL_User(); Trinity.BE.User user = dalUser.GetUserBySmartCardId(cardUID); if (user != null) { MessageBox.Show("This smart card is already in used by another person. Please user another card.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } // Then stop Smart Card and Start to scan finger print sCardMonitor.StopSmartCardMonitor(); btnScanSmartcard.Enabled = false; _currentUser.SmartCardId = cardUID; StartToScanFingerprint(); UpdateNote("Scan smart card successfully. Please scan your finger print to continue", Color.Blue); return; } UpdateNote("Could not scan the smart card", Color.Red); }
private void GetCardInfoSucceeded(string cardUID) { if (!_isFirstTimeLoaded) { Lib.LayerWeb.Invoke((MethodInvoker)(() => { if (GetCurrentTab() == EnumDOTabName.Queue) { DAL_User dAL_User = new DAL_User(); Trinity.BE.User user = dAL_User.GetUserBySmartCardId(cardUID); if (user != null) { var queue = new DAL_QueueNumber().GetMyQueueToday(user.UserId); if (queue != null && queue.QueueDetails.Any(d => d.Station == EnumStation.DUTYOFFICER && d.Status == EnumQueueStatuses.TabSmartCard)) { if (_jsCallCS.GetResultUT(user.NRIC, DateTime.Now.Date) == EnumUTResult.NEG && queue.QueueDetails.Any(d => d.Station == EnumStation.SSP && d.Status == EnumQueueStatuses.NotRequired)) { new DAL_QueueNumber().UpdateQueueStatusByUserId(user.UserId, EnumStation.DUTYOFFICER, EnumQueueStatuses.Finished, EnumStation.DUTYOFFICER, EnumQueueStatuses.Finished, string.Empty, EnumQueueOutcomeText.UnconditionalRelease); this.LayerWeb.InvokeScript("reloadDataQueues"); } else { this.LayerWeb.LoadPopupHtml("QueuePopupOutcome.html", new { UserId = user.UserId, Name = user.Name }); } } } } })); } }
public void OnEventPrintFinished() { if (_PrintMUBSucceed && _PrintTTSucceed) { // Update queue status is finished Session session = Session.Instance; Trinity.BE.User currentUser = (Trinity.BE.User)session[CommonConstants.USER_LOGIN]; if (currentUser == null) { // Check why current user is null this._web.RunScript("$('.status-text').css('color','#000').text('The current user is null');"); return; } Trinity.BE.User supervisee = null; if (currentUser.Role == EnumUserRoles.DutyOfficer) { supervisee = (Trinity.BE.User)session[CommonConstants.SUPERVISEE]; } else { supervisee = currentUser; } var dalQueue = new DAL_QueueNumber(); dalQueue.UpdateQueueStatusByUserId(supervisee.UserId, EnumStation.SSA, EnumQueueStatuses.Finished, EnumStation.UHP, EnumQueueStatuses.Processing, "", EnumQueueOutcomeText.Processing); //this._web.LoadPageHtml("PrintingMUBAndTTLabels.html"); //this._web.RunScript("$('#WaitingSection').hide();$('#CompletedSection').show(); ; "); //this._web.RunScript("$('.status-text').css('color','#000').text('Please collect your labels');"); //this._web.InvokeScript("countdownLogout"); DeleteQRCodeImageFileTemp(); CheckMUBPrintingLabellingProgress(); this._web.RunScript("$('.status-text').css('color','#000').text('Printing and labelling is in progress...');"); this._web.RunScript("$('#ConfirmBtn').html('Waiting...');"); this._web.RunScript("$('#lblNextAction').text('CheckIfMUBIsRemoved');"); } else { _popupModel.Title = "Printing Failed"; _popupModel.Message = "Unable to print labels.\nPlease report to the Duty Officer"; _popupModel.IsShowLoading = false; _popupModel.IsShowOK = true; if (_PrintTTSucceed) { _popupModel.Message = "Unable to print MUB labels.\nPlease report to the Duty Officer"; } if (_PrintMUBSucceed) { _popupModel.Message = "Unable to print TT labels.\nPlease report to the Duty Officer"; } this._web.InvokeScript("showPopupModal", JsonConvert.SerializeObject(_popupModel)); } }
private void Fingerprint_OnFingerprintFailed() { // Increase failed counter _fingerprintFailed++; Trinity.BE.User user = (Trinity.BE.User)Session.Instance[CommonConstants.USER_LOGIN]; // exceeded max failed if (_fingerprintFailed > 3) { // set message string errorMessage = "Unable to read " + user.Name + "'s fingerprint."; // Send Notification to duty officer Trinity.SignalR.Client.Instance.SendToAppDutyOfficers(user.UserId, "Fingerprint Authentication failed", errorMessage, EnumNotificationTypes.Error); //Trinity.BE.PopupModel popupModel = new Trinity.BE.PopupModel(); //popupModel.Title = "Authorization Failed"; //popupModel.Message = "Unable to read your fingerprint.\nPlease report to the Duty Officer"; //popupModel.IsShowLoading = false; //popupModel.IsShowOK = true; //LayerWeb.InvokeScript("showPopupModal", JsonConvert.SerializeObject(popupModel)); // Reset failed count _fingerprintFailed = 0; // Navigate to next page: Facial Authentication // Facial SDK has a trouble. Bypass temporarily NavigateTo(NavigatorEnums.Authentication_Facial); //NavigateTo(NavigatorEnums.Authentication_SmartCard); return; } // display failed on UI LayerWeb.RunScript("$('.status-text').css('color','#000').text('Please place your finger on the reader');"); LayerWeb.RunScript("$('[status-authentication]').text('FingerPrint Verification Failed : " + _fingerprintFailed + "');"); // restart identification if (user != null) { List <byte[]> fingerprintTemplates = new List <byte[]>() { user.LeftThumbFingerprint, user.RightThumbFingerprint }; FingerprintReaderUtil.Instance.StartIdentification(fingerprintTemplates, Fingerprint_OnIdentificationCompleted); } else { Debug.WriteLine("Fingerprint_OnFingerprintFailed warning: USER_LOGIN is null, can not restart identification."); } }
public void ManualLogin(string username, string password) { EventCenter eventCenter = EventCenter.Default; UserManager <ApplicationUser> userManager = ApplicationIdentityManager.GetUserManager(); ApplicationUser appUser = userManager.Find(username, password); if (appUser != null) { // Authenticated successfully // Check if the current user is an Duty Officer or not if (userManager.IsInRole(appUser.Id, EnumUserRoles.DutyOfficer)) { // Authorized successfully Trinity.BE.User user = new Trinity.BE.User() { RightThumbFingerprint = appUser.RightThumbFingerprint, LeftThumbFingerprint = appUser.LeftThumbFingerprint, IsFirstAttempt = appUser.IsFirstAttempt, Name = appUser.Name, NRIC = appUser.NRIC, Role = EnumUserRoles.DutyOfficer, SmartCardId = appUser.SmartCardId, Status = appUser.Status, UserId = appUser.Id }; Session session = Session.Instance; session.IsUserNamePasswordAuthenticated = true; session.Role = EnumUserRoles.DutyOfficer; session[CommonConstants.USER_LOGIN] = user; eventCenter.RaiseEvent(new Trinity.Common.EventInfo() { Code = 0, Name = EventNames.LOGIN_SUCCEEDED }); } else { eventCenter.RaiseEvent(new Trinity.Common.EventInfo() { Code = -2, Name = EventNames.LOGIN_FAILED, Message = "You do not have permission to access this page." }); } } else { eventCenter.RaiseEvent(new Trinity.Common.EventInfo() { Code = -1, Name = EventNames.LOGIN_FAILED, Message = "Your username or password is incorrect." }); } }
private void Main_OnFacialRecognitionFailed() { Session session = Session.Instance; if (!session.IsFacialAuthenticated) { FacialRecognition.Instance.OnFacialRecognitionFailed -= Main_OnFacialRecognitionFailed; FacialRecognition.Instance.OnFacialRecognitionSucceeded -= Main_OnFacialRecognitionSucceeded; FacialRecognition.Instance.OnFacialRecognitionProcessing -= Main_OnFacialRecognitionProcessing; FacialRecognition.Instance.OnCameraInitialized -= Main_OnCameraInitialized; this.Invoke((MethodInvoker)(() => { FacialRecognition.Instance.Dispose(); })); Trinity.BE.User user = (Trinity.BE.User)session[CommonConstants.USER_LOGIN]; string errorMessage = "User '" + user.Name + "' cannot complete facial authentication"; Trinity.SignalR.Client.Instance.SendToAppDutyOfficers(user.UserId, "Facial authentication failed", errorMessage, EnumNotificationTypes.Error); // show message box to user //MessageBox.Show("Facial authentication failed", "Facial Authentication", MessageBoxButtons.OK, MessageBoxIcon.Error); Trinity.BE.PopupModel popupModel = new Trinity.BE.PopupModel(); popupModel.Title = "Authorization Failed"; popupModel.Message = "Facial Recognition failed.\nPlease report to the Duty Officer"; popupModel.IsShowLoading = false; popupModel.IsShowOK = true; LayerWeb.InvokeScript("showPopupModal", JsonConvert.SerializeObject(popupModel)); // navigate to smartcard login page NavigateTo(NavigatorEnums.Authentication_SmartCard); // reset counter _fingerprintFailed = 0; } try { StackTrace trace = new StackTrace(); int caller = 1; StackFrame frame = trace.GetFrame(caller); string callerName = frame.GetMethod().Name; LogManager.Debug("Main_OnFacialRecognitionFailed: " + callerName); } catch (Exception) { } }
private void Fingerprint_OnFingerprintFailed() { // increase counter _fingerprintFailed++; // get USER_LOGIN Session session = Session.Instance; Trinity.BE.User user = (Trinity.BE.User)session[CommonConstants.USER_LOGIN]; // exceeded max failed if (_fingerprintFailed > 3) { //string message = "Unable to read your fingerprint. Please report to the Duty Officer"; string message = "Unable to read " + user.Name + "'s fingerprint."; // Send Notification to duty officer //APIUtils.SignalR.SendNotificationToDutyOfficer(message, message); // show message box to user //MessageBox.Show(message, "Authentication failed", MessageBoxButtons.OK, MessageBoxIcon.Error); CSCallJS.ShowMessage(LayerWeb, "Authentication Failed", message); // navigate to smartcard login page NavigateTo(NavigatorEnums.Authentication_Facial); // reset counter _fingerprintFailed = 0; return; } // display failed on UI LayerWeb.RunScript("$('.status-text').css('color','#000').text('Please place your finger on the reader. Failed: " + _fingerprintFailed + "');"); // restart identification if (user != null) { List <byte[]> fingerprintTemplates = new List <byte[]>() { user.LeftThumbFingerprint, user.RightThumbFingerprint }; FingerprintReaderUtil.Instance.StartIdentification(fingerprintTemplates, Fingerprint_OnIdentificationCompleted); } else { Debug.WriteLine("Fingerprint_OnFingerprintFailed warning: USER_LOGIN is null, can not restart identification."); } }
private void Main_OnFacialRecognitionSucceeded() { LayerWeb.RunScript("$('.status-text').css('color','#000').text('You have been authenticated.');"); FacialRecognition.Instance.OnFacialRecognitionFailed -= Main_OnFacialRecognitionFailed; FacialRecognition.Instance.OnFacialRecognitionSucceeded -= Main_OnFacialRecognitionSucceeded; FacialRecognition.Instance.OnFacialRecognitionProcessing -= Main_OnFacialRecognitionProcessing; FacialRecognition.Instance.OnCameraInitialized -= Main_OnCameraInitialized; this.Invoke((MethodInvoker)(() => { FacialRecognition.Instance.Dispose(); })); // // Login successfully // // Create a session object to store UserLogin information Session session = Session.Instance; session.IsFacialAuthenticated = true; Thread.Sleep(200); // if role = 0 (duty officer), redirect to NRIC.html // else (supervisee), redirect to Supervisee.html Trinity.BE.User currentUser = (Trinity.BE.User)session[CommonConstants.USER_LOGIN]; if (currentUser.Role == EnumUserRoles.DutyOfficer) { // navigate to Authentication_NRIC NavigateTo(NavigatorEnums.Authentication_NRIC); } else if (currentUser.Role.Equals(EnumUserRoles.USA, StringComparison.InvariantCultureIgnoreCase) || currentUser.Role.Equals(EnumUserRoles.Supervisee, StringComparison.InvariantCultureIgnoreCase)) { // navigate to SuperviseeParticulars page Trinity.SignalR.Client.Instance.UserLoggedIn(currentUser.UserId); NavigateTo(NavigatorEnums.Supervisee_Particulars); } else { _popupModel.Title = "Login Failed"; _popupModel.Message = "You do not have permission to access this page."; _popupModel.IsShowLoading = false; _popupModel.IsShowOK = true; LayerWeb.InvokeScript("showPopupModal", JsonConvert.SerializeObject(_popupModel)); } }
private void Fingerprint_OnFingerprintSucceeded() { try { // // Login successfully // // Create a session object to store UserLogin information Session session = Session.Instance; session.IsFingerprintAuthenticated = true; LayerWeb.RunScript("$('[status-authentication]').text('');"); LayerWeb.RunScript("$('.status-text').css('color','#000').text('Fingerprint authentication is successful.');"); Thread.Sleep(200); // if role = 0 (duty officer), redirect to NRIC.html // else (supervisee), redirect to Supervisee.html Trinity.BE.User currentUser = (Trinity.BE.User)session[CommonConstants.USER_LOGIN]; if (currentUser.Role == EnumUserRoles.DutyOfficer) { // navigate to Authentication_NRIC NavigateTo(NavigatorEnums.Authentication_NRIC); } else if (currentUser.Role.Equals(EnumUserRoles.USA, StringComparison.InvariantCultureIgnoreCase) || currentUser.Role.Equals(EnumUserRoles.Supervisee, StringComparison.InvariantCultureIgnoreCase)) { // navigate to SuperviseeParticulars page Trinity.SignalR.Client.Instance.UserLoggedIn(currentUser.UserId); NavigateTo(NavigatorEnums.Supervisee_Particulars); } else { _popupModel.Title = "Login Failed"; _popupModel.Message = "You do not have permission to access this page."; _popupModel.IsShowLoading = false; _popupModel.IsShowOK = true; LayerWeb.InvokeScript("showPopupModal", JsonConvert.SerializeObject(_popupModel)); } } catch (Exception ex) { MessageBox.Show("Error in Fingerprint_OnFingerprintSucceeded. Details:" + ex.Message); } }
public void Start() { // load page _web.LoadPageHtml("Supervisee.html"); // get user login info Session session = Session.Instance; Trinity.BE.User currentUser = (Trinity.BE.User)session[CommonConstants.USER_LOGIN]; Trinity.BE.User supervisee = null; if (currentUser.Role == EnumUserRoles.DutyOfficer) { supervisee = (Trinity.BE.User)session[CommonConstants.SUPERVISEE]; } else { supervisee = currentUser; } List <Trinity.BE.Notification> myNotifications = new Trinity.DAL.DAL_Notification().GetAllNotifications(supervisee.UserId); if (myNotifications != null) { var unReadCount = myNotifications.Count; Lib.LayerWeb.Invoke((System.Windows.Forms.MethodInvoker)(() => { Lib.LayerWeb.PushNoti(unReadCount); })); } //_web.InvokeScript("IsDutyOfficer", user.Role == EnumUserRoles.DutyOfficer); //// if user login is dutyofficer, implement duty officer override //if (user.Role == EnumUserRoles.DutyOfficer) //{ // CSCallJS.DisplayNRICLogin(_web); //} }
private void Main_OnFacialRecognitionSucceeded() { LayerWeb.RunScript("$('.status-text').css('color','#000').text('You have been authenticated.');"); FacialRecognition.Instance.OnFacialRecognitionFailed -= Main_OnFacialRecognitionFailed; FacialRecognition.Instance.OnFacialRecognitionSucceeded -= Main_OnFacialRecognitionSucceeded; FacialRecognition.Instance.OnFacialRecognitionProcessing -= Main_OnFacialRecognitionProcessing; this.Invoke((MethodInvoker)(() => { FacialRecognition.Instance.Dispose(); })); // // Login successfully // // Create a session object to store UserLogin information Session session = Session.Instance; session.IsFacialAuthenticated = true; Thread.Sleep(1000); // if role = 0 (duty officer), redirect to NRIC.html // else (supervisee), redirect to Supervisee.html Trinity.BE.User user = (Trinity.BE.User)session[CommonConstants.USER_LOGIN]; if (user.Role == EnumUserRoles.DutyOfficer) { // navigate to Authentication_NRIC NavigateTo(NavigatorEnums.Authentication_NRIC); } else { session[CommonConstants.SUPERVISEE] = user; session[CommonConstants.USER_LOGIN] = null; // navigate to SuperviseeParticulars page Trinity.SignalR.Client.Instance.UserLoggedIn(user.UserId); NavigateTo(NavigatorEnums.Supervisee_Particulars); } }
private void NavigateTo(NavigatorEnums navigatorEnum) { // navigate if (navigatorEnum == NavigatorEnums.Login) { LayerWeb.LoadPageHtml("Login.html"); } else if (navigatorEnum == NavigatorEnums.Authentication_SmartCard) { _fingerprintFailed = 0; _smartCardFailed = 0; _isSmartCardToLogin = true; LayerWeb.LoadPageHtml("Authentication/SmartCard.html"); LayerWeb.RunScript("$('.status-text').css('color','#000').text('Please place your smart card on the reader.');"); SmartCard.Instance.Start(); } else if (navigatorEnum == NavigatorEnums.Authentication_Fingerprint) { try { Session session = Session.Instance; Trinity.BE.User user = (Trinity.BE.User)session[CommonConstants.USER_LOGIN]; LayerWeb.LoadPageHtml("Authentication/FingerPrint.html"); LayerWeb.RunScript("$('.status-text').css('color','#000').text('Please place your finger on the reader.');"); Fingerprint.Instance.Start(new System.Collections.Generic.List <byte[]>() { user.LeftThumbFingerprint, user.RightThumbFingerprint }); } catch (System.IO.FileNotFoundException ex) { Console.WriteLine("File missing:\n"); Console.WriteLine(ex.FileName); } } else if (navigatorEnum == NavigatorEnums.Authentication_Facial) { Session session = Session.Instance; Trinity.BE.User user = (Trinity.BE.User)session[CommonConstants.USER_LOGIN]; LayerWeb.LoadPageHtml("Authentication/FacialRecognition.html"); LayerWeb.RunScript("$('.status-text').css('color','#000').text('Please remain still as Facial Recognition Check takes place.');"); FacialRecognition.Instance.OnFacialRecognitionFailed += Main_OnFacialRecognitionFailed; FacialRecognition.Instance.OnFacialRecognitionSucceeded += Main_OnFacialRecognitionSucceeded; FacialRecognition.Instance.OnFacialRecognitionProcessing += Main_OnFacialRecognitionProcessing; if (user.User_Photo1 == null || user.User_Photo1.Length == 0) { MessageBox.Show("User photo is null"); return; } this.Invoke((MethodInvoker)(() => { Point startLocation = new Point((Screen.PrimaryScreen.Bounds.Size.Width / 2) - 800 / 2, (Screen.PrimaryScreen.Bounds.Size.Height / 2) - 450 / 2); FacialRecognition.Instance.StartFacialRecognition(startLocation, new System.Collections.Generic.List <byte[]>() { user.User_Photo1, user.User_Photo2 }); })); } else if (navigatorEnum == NavigatorEnums.Queue) { _isSmartCardToLogin = false; LayerWeb.LoadPageHtml("Queue.html"); } // set current page _currentPage = navigatorEnum; // display options in Authentication_SmartCard page if (_currentPage == NavigatorEnums.Authentication_SmartCard) { _displayLoginButtonStatus = false; CSCallJS.DisplayLogoutButton(this.LayerWeb, _displayLoginButtonStatus); } // display options in the rest if (!_displayLoginButtonStatus && _currentPage != NavigatorEnums.Authentication_SmartCard) { _displayLoginButtonStatus = true; CSCallJS.DisplayLogoutButton(this.LayerWeb, _displayLoginButtonStatus); } }
public void Start() { Trinity.BE.User supervisee = _jsCallCS.getSuperviseeLogin(); if (supervisee == null) { _jsCallCS.LogOut(); return; } LabelInfo labelInfo = null; if (supervisee.Role.Equals(EnumUserRoles.USA, StringComparison.OrdinalIgnoreCase)) { var dalLabel = new DAL_Labels(); var lable = dalLabel.GetByUserID(supervisee.UserId, EnumLabelType.MUB, DateTime.Today); if (lable == null) { string MarkingNumber = new DAL_SettingSystem().GenerateMarkingNumber(); dalLabel.Insert(new Trinity.BE.Label { UserId = supervisee.UserId, Label_Type = EnumLabelType.TT, CompanyName = CommonConstants.COMPANY_NAME, MarkingNo = MarkingNumber, NRIC = supervisee.NRIC, Name = supervisee.Name, LastStation = EnumStation.ALK }); dalLabel.Insert(new Trinity.BE.Label { UserId = supervisee.UserId, Label_Type = EnumLabelType.MUB, CompanyName = CommonConstants.COMPANY_NAME, MarkingNo = MarkingNumber, NRIC = supervisee.NRIC, Name = supervisee.Name, LastStation = EnumStation.ALK }); lable = dalLabel.GetByUserID(supervisee.UserId, EnumLabelType.MUB, DateTime.Today); } labelInfo = new LabelInfo { UserId = lable.UserId, Name = lable.Name, NRIC = lable.NRIC, Label_Type = EnumLabelType.MUB, Date = DateTime.Now.ToString("dd/MM/yyyy"), CompanyName = lable.CompanyName, LastStation = EnumStation.ALK, MarkingNo = lable.MarkingNo, DrugType = "NA", QRCode = lable.QRCode }; } else if (supervisee.Role.Equals(EnumUserRoles.Supervisee, StringComparison.OrdinalIgnoreCase)) { var dalQueue = new DAL_QueueNumber(); var myQueue = dalQueue.GetMyQueueToday(supervisee.UserId); if (myQueue == null) { _web.ShowMessage("Please register for a queue number at " + EnumStation.ARK + " first."); _jsCallCS.LogOut(); return; } else if (myQueue != null && myQueue.QueueDetails.Any(d => d.Station == EnumStation.ARK && d.Status == EnumQueueStatuses.Waiting)) { _web.ShowMessage("Please wait for your queue number to appear under the \"Now Serving\" list."); _jsCallCS.LogOut(); return; } dalQueue.UpdateQueueStatusByUserId(supervisee.UserId, EnumStation.ARK, EnumQueueStatuses.Processing, EnumStation.ALK, EnumQueueStatuses.Processing, "Printing MUB/TT labels", EnumQueueOutcomeText.Processing); var lable = new DAL_Labels().GetByUserID(supervisee.UserId, EnumLabelType.MUB, DateTime.Today); string markingNo = lable.MarkingNo; labelInfo = new LabelInfo { UserId = lable.UserId, Name = lable.Name, NRIC = lable.NRIC, Label_Type = EnumLabelType.MUB, Date = DateTime.Now.ToString("dd/MM/yyyy"), CompanyName = lable.CompanyName, LastStation = EnumStation.ALK, MarkingNo = markingNo, DrugType = "NA", QRCode = lable.QRCode }; } using (var ms = new System.IO.MemoryStream(labelInfo.QRCode)) { System.IO.Directory.CreateDirectory(String.Format("{0}/Temp", CSCallJS.curDir)); string fileName = String.Format("{0}/Temp/{1}", CSCallJS.curDir, "QRCode_" + supervisee.NRIC + ".png"); if (System.IO.File.Exists(fileName)) { System.IO.File.Delete(fileName); } var bitmap = System.Drawing.Image.FromStream(ms); bitmap.Save(fileName, System.Drawing.Imaging.ImageFormat.Png); } //profile model _web.LoadPageHtml("SuperviseeParticulars.html", labelInfo); _main._isPrintingMUBTT = false; if (_main._timerCheckLogout != null) { if (_main._timerCheckLogout.Enabled) { _main._timerCheckLogout.Stop(); } _main._timerCheckLogout.Start(); } }
private void FormNewUser_Load(object sender, EventArgs e) { _currentUser = new Trinity.BE.User(); _currentUser.UserId = Guid.NewGuid().ToString(); }
private void _NavigateToFormThread(object pram) { NavigatorEnums navigatorEnum = (NavigatorEnums)pram; // navigate if (navigatorEnum == NavigatorEnums.Authentication_SmartCard) { LayerWeb.LoadPageHtml("Authentication/SmartCard.html"); LayerWeb.RunScript("$('.status-text').css('color','#000').text('Please place your smart card on the reader.');"); SmartCard.Instance.Start(); } else if (navigatorEnum == NavigatorEnums.Authentication_Fingerprint) { Session session = Session.Instance; Trinity.BE.User user = (Trinity.BE.User)session[CommonConstants.USER_LOGIN]; LayerWeb.LoadPageHtml("Authentication/FingerPrint.html"); LayerWeb.RunScript("$('.status-text').css('color','#000').text('Please place your thumb print on the reader.');"); //if (user.LeftThumbFingerprint == null && user.RightThumbFingerprint == null) //{ // LayerWeb.RunScript("$('.status-text').css('color','#000').text('Please place your thumb print on the reader.');"); //} //else //{ // string errMsg = user.Name + "'s Fingerprint could not be found."; // LayerWeb.RunScript("$('.status-text').css('color','#000').text('" + errMsg + "');"); //} try { Fingerprint.Instance.Start(new System.Collections.Generic.List <byte[]>() { user.LeftThumbFingerprint, user.RightThumbFingerprint }); } catch (Exception ex) { MessageBox.Show(ex.Message); } } else if (navigatorEnum == NavigatorEnums.Authentication_Facial) { Session session = Session.Instance; Trinity.BE.User user = (Trinity.BE.User)session[CommonConstants.USER_LOGIN]; if ((user.User_Photo1 == null || user.User_Photo1.Length == 0) && (user.User_Photo2 == null || user.User_Photo2.Length == 0)) { Trinity.BE.PopupModel popupModel = new Trinity.BE.PopupModel(); popupModel.Title = "Authorization Failed"; popupModel.Message = "User '" + user.Name + "' doesn't have any photos"; popupModel.IsShowLoading = false; popupModel.IsShowOK = true; LayerWeb.InvokeScript("showPopupModal", JsonConvert.SerializeObject(popupModel)); // navigate to smartcard login page NavigateTo(NavigatorEnums.Authentication_SmartCard); return; } LayerWeb.LoadPageHtml("Authentication/FacialRecognition.html"); LayerWeb.RunScript("$('.status-text').css('color','#000').text('Please remain still as Facial Recognition Check takes place.');"); FacialRecognition.Instance.OnFacialRecognitionFailed += Main_OnFacialRecognitionFailed; FacialRecognition.Instance.OnFacialRecognitionSucceeded += Main_OnFacialRecognitionSucceeded; FacialRecognition.Instance.OnFacialRecognitionProcessing += Main_OnFacialRecognitionProcessing; FacialRecognition.Instance.OnCameraInitialized += Main_OnCameraInitialized; this.Invoke((MethodInvoker)(() => { Point startLocation = new Point((Screen.PrimaryScreen.Bounds.Size.Width / 2) - 800 / 2, (Screen.PrimaryScreen.Bounds.Size.Height / 2) - 450 / 2); //Point startLocation = new Point((Screen.PrimaryScreen.Bounds.Size.Width / 2) - 400 / 2, (Screen.PrimaryScreen.Bounds.Size.Height / 2) - 400 / 2); try { FacialRecognition.Instance.StartFacialRecognition(startLocation, new System.Collections.Generic.List <byte[]>() { user.User_Photo1, user.User_Photo2 }); } catch (Exception ex) { MessageBox.Show(ex.Message); } })); } else if (navigatorEnum == NavigatorEnums.Authentication_NRIC) { _nric.Start(); } else if (navigatorEnum == NavigatorEnums.Supervisee_Particulars) { _superviseeParticulars.Start(); //btnConfirm.Enabled = true; } else if (navigatorEnum == NavigatorEnums.Supervisee_NRIC) { _superviseeParticulars.Start(); CSCallJS.DisplayNRICLogin(LayerWeb); } // set current page _currentPage = navigatorEnum; // display options in Authentication_SmartCard page if (_displayLoginButtonStatus && _currentPage == NavigatorEnums.Authentication_SmartCard) { _displayLoginButtonStatus = false; CSCallJS.DisplayLogoutButton(this.LayerWeb, _displayLoginButtonStatus); } // display options in the rest if (!_displayLoginButtonStatus && _currentPage != NavigatorEnums.Authentication_SmartCard) { _displayLoginButtonStatus = true; CSCallJS.DisplayLogoutButton(this.LayerWeb, _displayLoginButtonStatus); } }