Пример #1
0
 public void SetCurCardInfo(ref CHCNetSDK.NET_DVR_CARD_CFG_V50 cardInfo, ref CHCNetSDK.NET_DVR_FINGER_PRINT_CFG fingerprintInfo, ref UserInfo userInfo)
 {
     m_struCardInfo       = cardInfo;
     m_struFingerPrintOne = fingerprintInfo;
     m_userInfo           = userInfo;
     bSetDataByInvoker    = true;
 }
Пример #2
0
        private bool UpdateFingerPrintCfg(ref CHCNetSDK.NET_DVR_FINGER_PRINT_CFG struFingerPrintCfg)
        {
            struFingerPrintCfg.dwSize = (uint)Marshal.SizeOf(struFingerPrintCfg);
            byte[] byTempCard = System.Text.Encoding.UTF8.GetBytes(listViewUserAddCardInfo.SelectedItems[0].SubItems[1].Text);
            for (int i = 0; i < byTempCard.Length; i++)
            {
                if (i > struFingerPrintCfg.byCardNo.Length)
                {
                    return(false);
                }
                struFingerPrintCfg.byCardNo[i] = byTempCard[i];
            }
            uint.TryParse(textBoxDataLength.Text, out struFingerPrintCfg.dwFingerPrintLen);

            for (int i = 0; i < 2 * m_doorNum; i++)
            {
                if (checkedListBoxReaderValid.GetItemChecked(i))
                {
                    m_struFingerPrintOne.byEnableCardReader[i] = 1;
                }
                else
                {
                    m_struFingerPrintOne.byEnableCardReader[i] = 0;
                }
            }
            struFingerPrintCfg.byEnableCardReader = m_struFingerPrintOne.byEnableCardReader;
            byte.TryParse(textBoxFingerPrintNumber.Text, out struFingerPrintCfg.byFingerPrintID);
            struFingerPrintCfg.byFingerType = (byte)comboBoxFingerprintType.SelectedIndex;
            if (!File.Exists(textBoxFingerprintDataPath.Text))
            {
                MessageBox.Show("The fingerprint file does not exist !");
                return(false);
            }
            FileStream fs = new FileStream(textBoxFingerprintDataPath.Text, FileMode.OpenOrCreate);

            if (0 == fs.Length)
            {
                struFingerPrintCfg.byFingerData[0] = 0;
                fs.Close();
                return(true);
            }
            BinaryReader objBinaryReader = new BinaryReader(fs);

            if (struFingerPrintCfg.dwFingerPrintLen > CHCNetSDK.MAX_FINGER_PRINT_LEN)
            {
                return(false);
            }
            for (int i = 0; i < struFingerPrintCfg.dwFingerPrintLen; i++)
            {
                if (i >= fs.Length)
                {
                    break;
                }
                struFingerPrintCfg.byFingerData[i] = objBinaryReader.ReadByte();
            }
            fs.Close();
            return(true);
        }
Пример #3
0
 private void buttonAdd_Click(object sender, EventArgs e)
 {
     CHCNetSDK.NET_DVR_FINGER_PRINT_CFG struFingerPrintCfg = new CHCNetSDK.NET_DVR_FINGER_PRINT_CFG();
     struFingerPrintCfg.byCardNo           = new byte[32];
     struFingerPrintCfg.byEnableCardReader = new byte[512];
     struFingerPrintCfg.byFingerData       = new byte[CHCNetSDK.MAX_FINGER_PRINT_LEN];
     UpdateFingerPrintCfg(ref struFingerPrintCfg);
     AddToFingerPrintList(struFingerPrintCfg);
 }
Пример #4
0
        private void AddToFingerPrintList(CHCNetSDK.NET_DVR_FINGER_PRINT_CFG struCardInfo, bool bAdd = true)
        {
            CHCNetSDK.NET_DVR_FINGER_PRINT_CFG stCardInfo = new CHCNetSDK.NET_DVR_FINGER_PRINT_CFG();
            int iItemIndex = GetExistItem(struCardInfo);
            int iItemCount = listViewFingerPrint.Items.Count;

            if (-1 == iItemIndex)
            {
                stCardInfo = struCardInfo;
                string       strItem  = string.Format("{0}", iItemCount + 1);
                ListViewItem listItem = new ListViewItem();
                listItem.Text = strItem;
                listItem.SubItems.Add(System.Text.Encoding.UTF8.GetString(stCardInfo.byCardNo));
                listItem.SubItems.Add(stCardInfo.byFingerPrintID.ToString());
                if (0 == struCardInfo.byFingerType)
                {
                    listItem.SubItems.Add(AcsDemoPublic.strFingerType[0]);
                }
                else if (1 == struCardInfo.byFingerType)
                {
                    listItem.SubItems.Add(AcsDemoPublic.strFingerType[1]);
                }
                listItem.SubItems.Add(stCardInfo.dwFingerPrintLen.ToString());
                if (bAdd)
                {
                    listItem.SubItems.Add(textBoxFingerprintDataPath.Text);
                }
                else
                {
                    string strPath = null;
                    strPath = string.Format("{0}\\{1} fingerprint.dat", Environment.CurrentDirectory, iItemCount);
                    listItem.SubItems.Add(strPath);
                }
                //listItem.SubItems.Add(System.Text.Encoding.UTF8.GetString(stCardInfo.byFingerData));
                this.AddList(listViewFingerPrint, listItem);
                m_struRecordCardCfg[iItemCount] = struCardInfo;
            }
            else
            {
                m_struRecordCardCfg[iItemIndex] = struCardInfo;
                if (0 == struCardInfo.byFingerType)
                {
                    this.GetListText(listViewFingerPrint, iItemIndex, 3, AcsDemoPublic.strFingerType[0]);
                }
                else if (1 == struCardInfo.byFingerType)
                {
                    this.GetListText(listViewFingerPrint, iItemIndex, 3, AcsDemoPublic.strFingerType[1]);
                }
                this.GetListText(listViewFingerPrint, iItemIndex, 4, struCardInfo.dwFingerPrintLen.ToString());
                this.GetListText(listViewFingerPrint, iItemIndex, 5, System.Text.Encoding.UTF8.GetString(struCardInfo.byFingerData));
            }
            UpdateList(iItemCount, struCardInfo);
        }
Пример #5
0
 private void ProcessGetFingerPrintCfgCallbackData(uint dwType, IntPtr lpBuffer, uint dwBufLen, IntPtr pUserData)
 {
     if (pUserData == null)
     {
         return;
     }
     if (dwType == (uint)CHCNetSDK.NET_SDK_CALLBACK_TYPE.NET_SDK_CALLBACK_TYPE_DATA)
     {
         CHCNetSDK.NET_DVR_FINGER_PRINT_CFG strFingerPrintCfg = new CHCNetSDK.NET_DVR_FINGER_PRINT_CFG();
         strFingerPrintCfg = (CHCNetSDK.NET_DVR_FINGER_PRINT_CFG)Marshal.PtrToStructure(lpBuffer, typeof(CHCNetSDK.NET_DVR_FINGER_PRINT_CFG));
         //Marshal.PtrToStructure(lpBuffer, strCardCfg);
         bool bSendOK = false;
         for (int i = 0; i < strFingerPrintCfg.byEnableCardReader.Length; i++)
         {
             if (1 == strFingerPrintCfg.byEnableCardReader[i])
             {
                 bSendOK = true;
             }
         }
         if (!bSendOK)
         {
         }
         if (0 == strFingerPrintCfg.dwSize)
         {
             return;
         }
         AddToFingerPrintList(strFingerPrintCfg, false);
     }
     else if (dwType == (uint)CHCNetSDK.NET_SDK_CALLBACK_TYPE.NET_SDK_CALLBACK_TYPE_STATUS)
     {
         uint dwStatus = 0;
         dwStatus = (uint)Marshal.ReadInt32(lpBuffer);
         if (dwStatus == (uint)CHCNetSDK.NET_SDK_CALLBACK_STATUS_NORMAL.NET_SDK_CALLBACK_STATUS_SUCCESS)
         {
             ListViewItem listItem = new ListViewItem();
             listItem.Text = "SUCC";
             listItem.SubItems.Add("NET_DVR_GET_FINGERPRINT_CFG Get finish");
             this.AddList(listViewMessage, listItem);
         }
         else if (dwStatus == (uint)CHCNetSDK.NET_SDK_CALLBACK_STATUS_NORMAL.NET_SDK_CALLBACK_STATUS_FAILED)
         {
             ListViewItem listItem = new ListViewItem();
             listItem.Text = "FAIL";
             listItem.SubItems.Add("NET_DVR_GET_FINGERPRINT_CFG Get FAIL");
             this.AddList(listViewMessage, listItem);
         }
     }
 }
Пример #6
0
 private void ProcessGetFingerPrintCfgCallbackData(uint dwType, IntPtr lpBuffer, uint dwBufLen, IntPtr pUserData)
 {
     if (pUserData == null)
     {
         return;
     }
     if (dwType == (uint)CHCNetSDK.NET_SDK_CALLBACK_TYPE.NET_SDK_CALLBACK_TYPE_DATA)
     {
         CHCNetSDK.NET_DVR_FINGER_PRINT_CFG strFingerPrintCfg = new CHCNetSDK.NET_DVR_FINGER_PRINT_CFG();
         strFingerPrintCfg = (CHCNetSDK.NET_DVR_FINGER_PRINT_CFG)Marshal.PtrToStructure(lpBuffer, typeof(CHCNetSDK.NET_DVR_FINGER_PRINT_CFG));
         //Marshal.PtrToStructure(lpBuffer, strCardCfg);
         bool bSendOK = false;
         for (int i = 0; i < strFingerPrintCfg.byEnableCardReader.Length; i++)
         {
             if (1 == strFingerPrintCfg.byEnableCardReader[i])
             {
                 bSendOK = true;
             }
         }
         if (!bSendOK)
         {
             g_formList.AddLog(m_lDeviceIndex, AcsDemoPublic.OPERATION_FAIL_T, "NET_DVR_GET_FINGERPRINT_CFG");
         }
         else
         {
             g_formList.AddLog(m_lDeviceIndex, AcsDemoPublic.OPERATION_SUCC_T, "NET_DVR_GET_FINGERPRINT_CFG");
         }
         m_struFingerPrintOne = strFingerPrintCfg;
         SetDataToUI();
         if (0 == strFingerPrintCfg.dwSize)
         {
             return;
         }
     }
     else if (dwType == (uint)CHCNetSDK.NET_SDK_CALLBACK_TYPE.NET_SDK_CALLBACK_TYPE_STATUS)
     {
         uint dwStatus = 0;
         dwStatus = (uint)Marshal.ReadInt32(lpBuffer);
         if (dwStatus == (uint)CHCNetSDK.NET_SDK_CALLBACK_STATUS_NORMAL.NET_SDK_CALLBACK_STATUS_SUCCESS)
         {
             g_formList.AddLog(m_lDeviceIndex, AcsDemoPublic.OPERATION_SUCC_T, "NET_DVR_GET_FINGERPRINT_CFG Get finish");
         }
         else if (dwStatus == (uint)CHCNetSDK.NET_SDK_CALLBACK_STATUS_NORMAL.NET_SDK_CALLBACK_STATUS_FAILED)
         {
             g_formList.AddLog(m_lDeviceIndex, AcsDemoPublic.OPERATION_FAIL_T, "NET_DVR_GET_FINGERPRINT_CFG Get Failed");
         }
     }
 }
Пример #7
0
        private void UpdateList(int iInsertIndex, CHCNetSDK.NET_DVR_FINGER_PRINT_CFG struFingerPrintCfg)
        {
            string strPath = null;

            strPath = string.Format("{0} fingerprint.dat", iInsertIndex);
            FileStream fs = new FileStream(strPath, FileMode.OpenOrCreate);

            if (!File.Exists(strPath))
            {
                MessageBox.Show("Fingerprint storage file creat failed!");
            }
            BinaryWriter objBinaryWrite = new BinaryWriter(fs);

            fs.Write(struFingerPrintCfg.byFingerData, 0, (int)struFingerPrintCfg.dwFingerPrintLen);
            fs.Close();
        }
Пример #8
0
        private int GetExistItem(CHCNetSDK.NET_DVR_FINGER_PRINT_CFG struCardCfg)
        {
            int iItemCount = listViewFingerPrint.Items.Count;

            for (int i = 0; i < iItemCount; i++)
            {
                string strCardNo        = this.GetListText(listViewFingerPrint, i, 1);
                string strFingerPrintID = this.GetListText(listViewFingerPrint, i, 2);

                byte byFingerPrintIDTmp;
                byte.TryParse(strFingerPrintID, out byFingerPrintIDTmp);

                if (System.Text.Encoding.UTF8.GetString(struCardCfg.byCardNo) == strCardNo &&
                    struCardCfg.byFingerPrintID == byFingerPrintIDTmp)
                {
                    return(i);
                }
            }
            return(-1);
        }