Ejemplo n.º 1
0
        private async void btnGetUserFingerprint_ClickAsync(object sender, EventArgs e)
        {
            try
            {
                // Get user from local db
                DAL_User dalUser = new DAL_User();
                Trinity.DAL.DBContext.Membership_Users user = dalUser.GetByNRIC(txtNRIC.Text);
                if (user != null)
                {
                    // Get user from Backend API
                    UserModel userModel = await GetUserAsync(txtURL.Text);

                    if (userModel != null)
                    {
                        _leftFingerprint  = user.LeftThumbFingerprint;
                        _rightFingerprint = user.RightThumbFingerprint;

                        byte[] leftFingerprint   = user.LeftThumbFingerprint;
                        byte[] leftFingerprint2  = userModel.Left;
                        byte[] rightFingerprint  = user.RightThumbFingerprint;
                        byte[] rightFingerprint2 = userModel.Right;

                        // Now compare leftFingerprint and leftFingerprint2, rightFingerprint and rightFingerprint2
                        for (int i = 0; i < leftFingerprint.Length; i++)
                        {
                            if (leftFingerprint[i] != leftFingerprint2[i])
                            {
                                MessageBox.Show("Lef Fingerprint is different");
                                return;
                            }
                            if (rightFingerprint[i] != rightFingerprint2[i])
                            {
                                MessageBox.Show("Right Fingerprint is different");
                                return;
                            }
                        }
                        MessageBox.Show("Verified");
                    }
                    else
                    {
                        MessageBox.Show("Not verified");
                    }
                    btnSaveToFile.Enabled = true;
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
Ejemplo n.º 2
0
        public async System.Threading.Tasks.Task <IHttpActionResult> SSPPostNotification([FromBody] SSPNotificationModel data)
        {
            try
            {
                LogManager.Debug(string.Format("Begin SSPPostNotification, NRIC:{0}, Type:{1}, Datetime:{2}, Notification_Code:{3}, Content:{4}", data.NRIC, data.Type, data.Datetime, data.notification_code, data.Content));
                Trinity.DAL.DBContext.Membership_Users user = null;
                if (!string.IsNullOrEmpty(data.NRIC))
                {
                    user = new DAL.DAL_User().GetByNRIC(data.NRIC);
                }
                string Subject = data.Content;
                if (Subject.Length > 100)
                {
                    Subject = Subject.Substring(0, 96) + " ...";
                }
                string IDNoti = new DAL.DAL_Notification().InsertNotification(user != null ? user.UserId : null, null, Subject, data.Content, false, data.Datetime, data.notification_code, data.Type, EnumStation.SSP);
                if (!string.IsNullOrEmpty(IDNoti))
                {
                    if (data.Type == EnumNotificationTypes.Error && user != null)
                    {
                        new DAL.DAL_QueueNumber().UpdateQueueStatusByUserId(user.UserId, EnumStation.SSP, EnumQueueStatuses.Errors, EnumStation.DUTYOFFICER, EnumQueueStatuses.Finished, EnumMessage.LeakageDeletected, EnumQueueOutcomeText.Processing);

                        await System.Threading.Tasks.Task.Run(() => Trinity.SignalR.Client.Instance.BackendAPISend(NotificationNames.SSP_ERROR, data.NRIC));
                    }
                    await System.Threading.Tasks.Task.Run(() => Trinity.SignalR.Client.Instance.SendToAppDutyOfficers((user != null ? user.UserId : null), Subject, data.Content, data.Type, EnumStation.SSP, false, IDNoti));

                    LogManager.Debug("SSPPostNotification completed successfully");
                    return(Ok(true));
                }
                else
                {
                    LogManager.Error("SSPPostNotification failed.");
                    return(Ok(false));
                }
            }
            catch (Exception)
            {
                return(Ok(false));
            }
        }