コード例 #1
0
        private void buttonCardInfoAdd_Click(object sender, EventArgs e)
        {
            CardAdd cardAdd = new CardAdd();

            if (cardAdd.ShowDialog() == DialogResult.OK)
            {
                this.listViewUserAddCardInfo.BeginUpdate();

                ListViewItem lvi = new ListViewItem();
                lvi.Text = cardAdd.cardInformations.cardSerialNumber;
                lvi.SubItems.Add(cardAdd.cardInformations.cardNumber);
                lvi.SubItems.Add(cardAdd.cardInformations.cardType);
                lvi.SubItems.Add(cardAdd.cardInformations.cardValidityPeriod);

                this.listViewUserAddCardInfo.Items.Add(lvi);
                this.listViewUserAddCardInfo.EndUpdate();
                m_struCardInfo = cardAdd.GetCurCardInfo();

                for (int i = 0; i < iMaxCardNum; i++)
                {
                    m_userInfo.cards[i].cardNumber         = cardAdd.cardInformations.cardNumber;
                    m_userInfo.cards[i].cardPassword       = cardAdd.cardInformations.cardPassword;
                    m_userInfo.cards[i].cardSerialNumber   = cardAdd.cardInformations.cardSerialNumber;
                    m_userInfo.cards[i].cardType           = cardAdd.cardInformations.cardType;
                    m_userInfo.cards[i].cardValidityPeriod = cardAdd.cardInformations.cardValidityPeriod;
                }

                m_bIsEmpty = false;
            }
        }
コード例 #2
0
        /// <summary>
        /// 处理卡查询回调的函数
        /// </summary>
        /// <param name="type">状态</param>
        /// <param name="buffer">存放数据的缓冲区指针,获取音量时dwType状态无效,lpBuffer对应4字节声音强度</param>
        /// <param name="bufferLength">缓冲区大小</param>
        /// <param name="pUserData">用户数据</param>
        private void ProcessCardQueryCallback(uint type, IntPtr pBuffer, uint bufferLength, IntPtr pUserData)
        {
            if (pUserData == null)
            {
                return;
            }

            switch (type)
            {
            case (uint)CHCNetSDK.NET_SDK_CALLBACK_TYPE.NET_SDK_CALLBACK_TYPE_DATA:
                CHCNetSDK.NET_DVR_CARD_CFG_V50 struCardCfg = new CHCNetSDK.NET_DVR_CARD_CFG_V50();
                struCardCfg.Init();
                struCardCfg  = (CHCNetSDK.NET_DVR_CARD_CFG_V50)Marshal.PtrToStructure(pBuffer, typeof(CHCNetSDK.NET_DVR_CARD_CFG_V50));
                struCardInfo = struCardCfg;
                break;

            case (uint)CHCNetSDK.NET_SDK_CALLBACK_TYPE.NET_SDK_CALLBACK_TYPE_STATUS:
                uint status = (uint)Marshal.ReadInt32(pBuffer);
                if (status == (uint)CHCNetSDK.NET_SDK_CALLBACK_STATUS_NORMAL.NET_SDK_CALLBACK_STATUS_SUCCESS)
                {
                    bGetCardCfgFinish = true;
                }
                else if (status == (uint)CHCNetSDK.NET_SDK_CALLBACK_STATUS_NORMAL.NET_SDK_CALLBACK_STATUS_FAILED)
                {
                }
                break;

            default:
                break;
            }
        }
コード例 #3
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;
 }
コード例 #4
0
ファイル: CardAdd.cs プロジェクト: zimnerd/biometric
        public CHCNetSDK.NET_DVR_CARD_CFG_V50 GetCurCardInfo()
        {
            CHCNetSDK.NET_DVR_CARD_CFG_V50 struCardCfg = new CHCNetSDK.NET_DVR_CARD_CFG_V50();
            struCardCfg.Init();

            //see the NET_DVR_CARD_CFG_V50 definition
            struCardCfg.dwModifyParamType = 0x00000087;
            struCardCfg.byCardValid       = 1;
            struCardCfg.byCardType        = (byte)comboBoxCardAddCardType.SelectedIndex;

            struCardCfg.struValid.byEnable               = 1;
            struCardCfg.struValid.struBeginTime.wYear    = (ushort)dateTimePickerStart.Value.Year;
            struCardCfg.struValid.struBeginTime.byMonth  = (byte)dateTimePickerStart.Value.Month;
            struCardCfg.struValid.struBeginTime.byDay    = (byte)dateTimePickerStart.Value.Day;
            struCardCfg.struValid.struBeginTime.byHour   = (byte)dateTimePickerStart.Value.Hour;
            struCardCfg.struValid.struBeginTime.bySecond = (byte)dateTimePickerStart.Value.Second;
            struCardCfg.struValid.struEndTime.wYear      = (ushort)dateTimePickerEnd.Value.Year;
            struCardCfg.struValid.struEndTime.byMonth    = (byte)dateTimePickerEnd.Value.Month;
            struCardCfg.struValid.struEndTime.byDay      = (byte)dateTimePickerEnd.Value.Day;
            struCardCfg.struValid.struEndTime.byHour     = (byte)dateTimePickerEnd.Value.Hour;
            struCardCfg.struValid.struEndTime.byMinute   = (byte)dateTimePickerEnd.Value.Minute;
            struCardCfg.struValid.struEndTime.bySecond   = (byte)dateTimePickerEnd.Value.Second;

            byte[] sCardNo = System.Text.Encoding.Default.GetBytes(textBoxCardAddCardNo.Text);
            sCardNo.CopyTo(struCardCfg.byCardNo, 0);

            byte[] sCardPassword = System.Text.Encoding.Default.GetBytes(textBoxCardAddPassword.Text);
            sCardPassword.CopyTo(struCardCfg.byCardPassword, 0);

            return(struCardCfg);
        }
コード例 #5
0
        private void buttonCardInfoModify_Click(object sender, EventArgs e)
        {
            if (listViewUserAddCardInfo.SelectedItems.Count == 0)
            {
                return;
            }

            CardModify cardModify = new CardModify();

            cardModify.SetCardCfg(ref m_struCardInfo);


            if (cardModify.ShowDialog() == DialogResult.OK)
            {
                this.listViewUserAddCardInfo.BeginUpdate();

                listViewUserAddCardInfo.SelectedItems[0].SubItems[1].Text = cardModify.cardInformations.cardNumber;
                listViewUserAddCardInfo.SelectedItems[0].SubItems[2].Text = cardModify.cardInformations.cardType;
                listViewUserAddCardInfo.SelectedItems[0].SubItems[3].Text = cardModify.cardInformations.cardValidityPeriod;

                this.listViewUserAddCardInfo.EndUpdate();

                m_struCardInfo = cardModify.GetCardCfg();
            }
        }
コード例 #6
0
        /// <summary>
        /// 构造 "卡参数配置结构体"(下发卡数据用)
        /// </summary>
        /// <param name="userInfo"></param>
        /// <returns></returns>
        private CHCNetSDK.NET_DVR_CARD_CFG_V50 BuildCardCfgStruct(Core.Domain.EntranceControl.UserInfo userInfo)
        {
            CHCNetSDK.NET_DVR_CARD_CFG_V50 struCardCfg = new CHCNetSDK.NET_DVR_CARD_CFG_V50();
            struCardCfg.Init();
            struCardCfg.dwSize            = (uint)Marshal.SizeOf(struCardCfg);
            struCardCfg.dwModifyParamType = 0x00001D8D;

            byte[] bCardNo = System.Text.Encoding.GetEncoding(PreSettings.charset).GetBytes(userInfo.CardNo);
            bCardNo.CopyTo(struCardCfg.byCardNo, 0);

            struCardCfg.byCardValid    = userInfo.CardValid;
            struCardCfg.byCardType     = (byte)userInfo.CardType;
            struCardCfg.byLeaderCard   = userInfo.IsLeaderCard;
            struCardCfg.byDoorRight[0] = userInfo.DoorRight[0];

            struCardCfg.wCardRightPlan[0] = 1;

            byte[] bName = System.Text.Encoding.GetEncoding(PreSettings.charset).GetBytes(userInfo.Name);
            bName.CopyTo(struCardCfg.byName, 0);

            struCardCfg.dwEmployeeNo  = userInfo.EmployeeNo;
            struCardCfg.wDepartmentNo = userInfo.DepartmentNo;

            byte[] bCardPassword = System.Text.Encoding.GetEncoding(PreSettings.charset).GetBytes(userInfo.CardPassword);
            bCardPassword.CopyTo(struCardCfg.byCardPassword, 0);

            struCardCfg.dwMaxSwipeTime = userInfo.MaxSwipeTime;
            struCardCfg.dwSwipeTime    = userInfo.SwipeTime;

            struCardCfg.struValid.byEnable = 0;

            return(struCardCfg);
        }
コード例 #7
0
ファイル: CardManagement.cs プロジェクト: zimnerd/biometric
        private void ProcessGetGatewayCardCallback(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_CARD_CFG_V50 struCardCfg = new CHCNetSDK.NET_DVR_CARD_CFG_V50();
                struCardCfg = (CHCNetSDK.NET_DVR_CARD_CFG_V50)Marshal.PtrToStructure(lpBuffer, typeof(CHCNetSDK.NET_DVR_CARD_CFG_V50));
                string strCardNo = System.Text.Encoding.UTF8.GetString(struCardCfg.byCardNo);
                AddToCardList(struCardCfg, strCardNo);
            }
            else if (dwType == (uint)CHCNetSDK.NET_SDK_CALLBACK_TYPE.NET_SDK_CALLBACK_TYPE_STATUS)
            {
                uint 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_CARD_CFG_V50 Get finish");
                    this.AddList(listViewMessage, listItem);
                }
                else if (dwStatus == (uint)CHCNetSDK.NET_SDK_CALLBACK_STATUS_NORMAL.NET_SDK_CALLBACK_STATUS_FAILED)
                {
                    uint         dwErrorCode = (uint)Marshal.ReadInt32(lpBuffer + 1);
                    string       cardNumber  = Marshal.PtrToStringAnsi(lpBuffer + 2);
                    ListViewItem listItem    = new ListViewItem();
                    listItem.Text = "FAIL";
                    listItem.SubItems.Add(string.Format("NET_DVR_GET_CARD_CFG_V50 Get Failed,ErrorCode:{0},CardNo:{1}", dwErrorCode, cardNumber));
                    this.AddList(listViewMessage, listItem);
                }
            }
        }
コード例 #8
0
        private void ProcessGetGatewayCardCallback(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_CARD_CFG_V50 struCardCfg = new CHCNetSDK.NET_DVR_CARD_CFG_V50();
                struCardCfg    = (CHCNetSDK.NET_DVR_CARD_CFG_V50)Marshal.PtrToStructure(lpBuffer, typeof(CHCNetSDK.NET_DVR_CARD_CFG_V50));
                m_struCardInfo = struCardCfg;
                SetDataToUI();
            }
            else if (dwType == (uint)CHCNetSDK.NET_SDK_CALLBACK_TYPE.NET_SDK_CALLBACK_TYPE_STATUS)
            {
                uint 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_CARD_CFG_V50 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_CARD_CFG_V50 Get FAILED");
                }
            }
        }
コード例 #9
0
ファイル: CardManagement.cs プロジェクト: zimnerd/biometric
 private void listViewGataManage_ItemSelectionChanged(object sender, ListViewItemSelectionChangedEventArgs e)
 {
     m_iSelectIndex = e.ItemIndex;
     if (e.ItemIndex < 0)
     {
         return;
     }
     CHCNetSDK.NET_DVR_CARD_CFG_V50 strCardCfg = m_struCardInfo[e.ItemIndex];
     UpdateSubList(strCardCfg);
 }
コード例 #10
0
ファイル: CardManagement.cs プロジェクト: zimnerd/biometric
        private void UpdateSubList(CHCNetSDK.NET_DVR_CARD_CFG_V50 struCardCfg)
        {
            listViewDoorAuthority.Items.Clear();
            listViewGroup.Items.Clear();
            listViewPlaTemplateNumber.Items.Clear();
            string strTemp1 = null;
            string strTemp2 = null;
            string strTemp3 = null;

            for (int i = 0; i < CHCNetSDK.MAX_DOOR_NUM_256; i++)
            {
                strTemp1 = string.Format("{0}", i + 1);
                ListViewItem listItem = new ListViewItem();
                listItem.Text = strTemp1;
                if (struCardCfg.byDoorRight[i] > 0)
                {
                    listItem.SubItems.Add("Yes");
                }
                else
                {
                    listItem.SubItems.Add("No");
                }
                listViewDoorAuthority.Items.Add(listItem);
            }
            for (int i = 0; i < CHCNetSDK.MAX_GROUP_NUM_128; i++)
            {
                strTemp1 = string.Format("{0}", i + 1);
                ListViewItem listItem = new ListViewItem();
                listItem.Text = strTemp1;
                if (struCardCfg.byBelongGroup[i] > 0)
                {
                    listItem.SubItems.Add("Yes");
                }
                else
                {
                    listItem.SubItems.Add("No");
                }
                listViewGroup.Items.Add(listItem);
            }
            for (int i = 0; i < CHCNetSDK.MAX_DOOR_NUM_256; i++)
            {
                for (int j = 0; j < CHCNetSDK.MAX_CARD_RIGHT_PLAN_NUM; j++)
                {
                    strTemp1 = string.Format("{0}", i + 1);
                    strTemp2 = string.Format("{0}", j + 1);
                    strTemp3 = string.Format("{0}", struCardCfg.wCardRightPlan[i * CHCNetSDK.MAX_CARD_RIGHT_PLAN_NUM + j]);
                    ListViewItem listItem = new ListViewItem();
                    listItem.Text = strTemp1;
                    listItem.SubItems.Add(strTemp2);
                    listItem.SubItems.Add(strTemp3);
                    listViewPlaTemplateNumber.Items.Add(listItem);
                }
            }
        }
コード例 #11
0
ファイル: CardManagement.cs プロジェクト: zimnerd/biometric
        private void AddToCardList(CHCNetSDK.NET_DVR_CARD_CFG_V50 struCardInfo, string strCardNo)
        {
            int iItemIndex = GetExistItem(struCardInfo);

            if (-1 == iItemIndex)
            {
                iItemIndex = listViewGataManage.Items.Count;
            }
            UpdateList(iItemIndex, strCardNo, struCardInfo);
            m_struCardInfo[iItemIndex] = struCardInfo;
        }
コード例 #12
0
        private void btnDelSingleCard_Click(object sender, EventArgs e)
        {
            CHCNetSDK.NET_DVR_CARD_CFG_V50 DelSingleCard = new CHCNetSDK.NET_DVR_CARD_CFG_V50();
            DelSingleCard             = GetSelItem();
            DelSingleCard.byCardValid = 0;
            DelSingleCard.dwSize      = (uint)Marshal.SizeOf(DelSingleCard);

            int    dwSize           = (int)DelSingleCard.dwSize;
            IntPtr PtrDelSingleCard = Marshal.AllocHGlobal(dwSize);

            Marshal.StructureToPtr(DelSingleCard, PtrDelSingleCard, true);
        }
コード例 #13
0
        private void ProcessGetGatewayCardCallback(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_CARD_CFG_V50 struCardCfg = new CHCNetSDK.NET_DVR_CARD_CFG_V50();
                struCardCfg = (CHCNetSDK.NET_DVR_CARD_CFG_V50)Marshal.PtrToStructure(lpBuffer, typeof(CHCNetSDK.NET_DVR_CARD_CFG_V50));
                string strCardNo = System.Text.Encoding.UTF8.GetString(struCardCfg.byCardNo);
                IntPtr pCardInfo = Marshal.AllocHGlobal(Marshal.SizeOf(struCardCfg));
                Marshal.StructureToPtr(struCardCfg, pCardInfo, true);
                CHCNetSDK.PostMessage(pUserData, 1003, (Int64)pCardInfo, 0);

                //AddToCardList(struCardCfg, strCardNo);
            }
            else if (dwType == (uint)CHCNetSDK.NET_SDK_CALLBACK_TYPE.NET_SDK_CALLBACK_TYPE_STATUS)
            {
                uint 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_CARD_CFG_V50 Get finish");
                    this.AddList(listViewMessage, listItem, true);
                    CHCNetSDK.PostMessage(pUserData, 1002, 0, 0);
                }
                else if (dwStatus == (uint)CHCNetSDK.NET_SDK_CALLBACK_STATUS_NORMAL.NET_SDK_CALLBACK_STATUS_FAILED)
                {
                    byte[] bRawData = new byte[40];          //4字节状态 + 4字节错误码 + 32字节卡号
                    Marshal.Copy(lpBuffer, bRawData, 0, 40); //将非托管内存指针数据复制到数组中

                    byte[] errorb = new byte[4];             //4字节错误码
                    Array.Copy(bRawData, 4, errorb, 0, 4);
                    int errorCode = BitConverter.ToInt32(errorb, 0);

                    byte[] byCardNo = new byte[32];//32字节卡号
                    Array.Copy(bRawData, 8, byCardNo, 0, 32);
                    string strCardNo = Encoding.ASCII.GetString(byCardNo).TrimEnd('\0');

                    ListViewItem listItem = new ListViewItem();
                    listItem.Text = "FAIL";
                    listItem.SubItems.Add(string.Format("NET_DVR_GET_CARD_CFG_V50 Get Failed,ErrorCode:{0},CardNo:{1}", errorCode, byCardNo));
                    this.AddList(listViewMessage, listItem, true);
                    CHCNetSDK.PostMessage(pUserData, 1002, 0, 0);
                }
            }
            return;
        }
コード例 #14
0
ファイル: CardManagement.cs プロジェクト: zimnerd/biometric
        private CHCNetSDK.NET_DVR_CARD_CFG_V50 GetSelItem(ref string strCardNo)
        {
            int iPos = m_iSelectIndex;

            CHCNetSDK.NET_DVR_CARD_CFG_V50 struCardInfo = new CHCNetSDK.NET_DVR_CARD_CFG_V50();
            if (iPos < 0)
            {
                return(struCardInfo);
            }
            if (null != strCardNo)
            {
                strCardNo = listViewGataManage.Items[iPos].SubItems[1].Text;
            }
            return(m_struCardInfo[iPos]);
        }
コード例 #15
0
ファイル: CardManagement.cs プロジェクト: zimnerd/biometric
        private CHCNetSDK.NET_DVR_CARD_CFG_V50 GetSelItem()
        {
            int iPos = -1;

            if (m_iSelectIndex >= 0)
            {
                iPos = m_iSelectIndex;
            }
            CHCNetSDK.NET_DVR_CARD_CFG_V50 struCardInfo = new CHCNetSDK.NET_DVR_CARD_CFG_V50();
            if (iPos < 0)
            {
                return(struCardInfo);
            }
            return(m_struCardInfo[iPos]);
        }
コード例 #16
0
        private void CreateSameCfgCard(uint dwNum, CHCNetSDK.NET_DVR_CARD_CFG_V50 struCardCfg)
        {
            int iListCount = listViewGataManage.Items.Count;
            //2019/06/27 Murphy Zhang Start
            uint tempNum = (uint)iListCount + 1;

            //2019/06/27 Murphy Zhang End
            for (int i = iListCount; i < iListCount + dwNum; i++)
            {
                m_struCardInfo[i]          = struCardCfg;
                m_struCardInfo[i].byCardNo = new byte[CHCNetSDK.ACS_CARD_NO_LEN];
                string strTemp  = (i - iListCount).ToString();
                byte[] byTempNo = System.Text.Encoding.UTF8.GetBytes(strTemp);
                int    iIndex   = 0;
                for (int k = 0; k < struCardCfg.byCardNo.Length; k++)
                {
                    if (0 == struCardCfg.byCardNo[k])
                    {
                        break;
                    }
                    else
                    {
                        m_struCardInfo[i].byCardNo[iIndex] = struCardCfg.byCardNo[k];
                        iIndex++;
                    }
                    if (iIndex >= m_struCardInfo[i].byCardNo.Length)
                    {
                        return;
                    }
                }
                if (dwNum != 1)
                {
                    //2019/06/27 Murphy Zhang Start
                    m_struCardInfo[i].dwEmployeeNo = m_struCardInfo[i].dwEmployeeNo + tempNum;
                    tempNum++;
                    //2019/06/27 Murphy Zhang End
                    for (int k = 0; k < byTempNo.Length; k++)
                    {
                        m_struCardInfo[i].byCardNo[iIndex] = byTempNo[k];
                        iIndex++;
                        if (iIndex >= m_struCardInfo[i].byCardNo.Length)
                        {
                            return;
                        }
                    }
                }
            }
        }
コード例 #17
0
        private void buttonCardInfoDelete_Click(object sender, EventArgs e)
        {
            if (m_bIsEmpty)
            {
                return;
            }

            //deleteSingleCard();

            //delete fingerprint
            listViewUserAddCardInfo.Items.RemoveAt(listViewUserAddCardInfo.SelectedItems[0].Index);
            m_struCardInfo = new CHCNetSDK.NET_DVR_CARD_CFG_V50();
            m_struCardInfo.Init();
            m_bIsEmpty = true;

            return;
        }
コード例 #18
0
ファイル: CardManagement.cs プロジェクト: zimnerd/biometric
        private void buttonBatchAdd_Click(object sender, EventArgs e)
        {
            string        strCardNo = null;
            CardConfigure batchAdd  = new CardConfigure();

            CHCNetSDK.NET_DVR_CARD_CFG_V50 struCardCfg = new CHCNetSDK.NET_DVR_CARD_CFG_V50();
            batchAdd.SetCardCfg(ref struCardCfg);

            if (batchAdd.ShowDialog() == DialogResult.OK)
            {
                struCardCfg = batchAdd.GetCardCfg(strCardNo);
                m_dwCardNum = (uint)batchAdd.GetAddNum();
                CreateSameCfgCard(m_dwCardNum, struCardCfg);
                m_pDisplayListThread = new Thread(new ThreadStart(g_fShowCardListThread));
                m_pDisplayListThread.Start();
            }
        }
コード例 #19
0
ファイル: CardManagement.cs プロジェクト: zimnerd/biometric
        private void SendCardData(CHCNetSDK.NET_DVR_CARD_CFG_V50 struCardCfg, uint dwDiffTime = 0)
        {
            if (-1 == m_lSetCardCfgHandle)
            {
                return;
            }
            uint   dwSize      = (uint)Marshal.SizeOf(struCardCfg);
            IntPtr ptrStruCard = Marshal.AllocHGlobal((int)dwSize);

            Marshal.StructureToPtr(struCardCfg, ptrStruCard, false);
            if (!CHCNetSDK.NET_DVR_SendRemoteConfig(m_lSetCardCfgHandle, 3, ptrStruCard, dwSize))
            {
                Marshal.FreeHGlobal(ptrStruCard);
                return;
            }
            Marshal.FreeHGlobal(ptrStruCard);
            return;
        }
コード例 #20
0
ファイル: CardManagement.cs プロジェクト: zimnerd/biometric
        private int GetExistItem(CHCNetSDK.NET_DVR_CARD_CFG_V50 struCardCfg)
        {
            int iItemCount = listViewGataManage.Items.Count;

            CHCNetSDK.NET_DVR_CARD_CFG_V50?struTemp = struCardCfg;
            for (int i = 0; i < iItemCount; i++)
            {
                if (null == struTemp)
                {
                    continue;
                }
                if (System.Text.Encoding.UTF8.GetString(struCardCfg.byCardNo) == this.GetListText(listViewGataManage, i, 1))
                {
                    return(i);
                }
            }
            return(-1);
        }
コード例 #21
0
        /// <summary>
        /// 发送"卡数据"长连接数据
        /// </summary>
        /// <param name="hndStartRemoteConfig"></param>
        /// <param name="userInfo">卡号数据</param>
        /// <returns>TRUE表示成功,FALSE表示失败</returns>
        public bool SendRemoteConfigForCardInsert(
            int hndStartRemoteConfig,
            Core.Domain.EntranceControl.UserInfo userInfo)
        {
            bool ret      = false;
            uint dataType = (uint)CHCNetSDK.LONG_CFG_SEND_DATA_TYPE_ENUM.ENUM_ACS_SEND_DATA;

            //构建“卡参数配置结构体”结构体 并转化为指针
            CHCNetSDK.NET_DVR_CARD_CFG_V50 struCardCfg = BuildCardCfgStruct(userInfo);
            int    struCardCfgSize = Marshal.SizeOf(struCardCfg);
            IntPtr ptrCardCfg      = Marshal.AllocHGlobal(struCardCfgSize);

            Marshal.StructureToPtr(struCardCfg, ptrCardCfg, false);

            ret = CHCNetSDK.NET_DVR_SendRemoteConfig(hndStartRemoteConfig, dataType, ptrCardCfg, (uint)struCardCfgSize);

            Marshal.FreeHGlobal(ptrCardCfg);
            return(ret);
        }
コード例 #22
0
ファイル: CardManagement.cs プロジェクト: zimnerd/biometric
        private bool SendNextCard()
        {
            if (-1 == m_lSetCardCfgHandle)
            {
                return(false);
            }
            m_dwSendIndex++;
            if (m_dwSendIndex >= m_dwCardNum)
            {
                //CHCNetSDK.NET_DVR_StopRemoteConfig(m_lSetCardCfgHandle);
                //this.StopRemoteCfg(ref m_lSetCardCfgHandle);
                //m_lSetCardCfgHandle = -1;
                ListViewItem listItem2 = new ListViewItem();
                listItem2.Text = "SUCC";
                string strTemp2 = null;
                strTemp2 = string.Format("Send {0} card(s) success", m_dwCardNum);
                listItem2.SubItems.Add(strTemp2);
                this.AddList(listViewMessage, listItem2);
                return(true);
            }
            m_struNowSendCard = m_struCardInfo[m_dwSendIndex];
            uint   dwSize      = (uint)Marshal.SizeOf(m_struNowSendCard);
            IntPtr ptrSendCard = Marshal.AllocHGlobal((int)dwSize);

            Marshal.StructureToPtr(m_struNowSendCard, ptrSendCard, false);
            if (!CHCNetSDK.NET_DVR_SendRemoteConfig(m_lSetCardCfgHandle, 3, ptrSendCard, dwSize))
            {
                Marshal.FreeHGlobal(ptrSendCard);
                ListViewItem listItem3 = new ListViewItem();
                listItem3.Text = "FAIL";
                string strTemp3 = null;
                strTemp3 = string.Format("Send Fail,CardNO:{0}", System.Text.Encoding.UTF8.GetString(m_struNowSendCard.byCardNo).TrimEnd('\0'));
                listItem3.SubItems.Add(strTemp3);
                this.AddList(listViewMessage, listItem3);
                //CHCNetSDK.NET_DVR_StopRemoteConfig(m_lSetCardCfgHandle);
                //this.StopRemoteCfg(ref m_lSetCardCfgHandle);
                //m_lSetCardCfgHandle = -1;
                return(false);
            }
            Marshal.FreeHGlobal(ptrSendCard);
            return(true);
        }
コード例 #23
0
        protected override void DefWndProc(ref Message m)
        {
            switch (m.Msg)
            {
            case 1001:
                Int64 iErrorMsg = m.WParam.ToInt64();
                if (-1 != m_lSetCardCfgHandle)
                {
                    if (CHCNetSDK.NET_DVR_StopRemoteConfig(m_lSetCardCfgHandle))
                    {
                        m_lSetCardCfgHandle = -1;
                    }
                }

                if (-1 != m_lGetCardCfgHandle)
                {
                    if (CHCNetSDK.NET_DVR_StopRemoteConfig(m_lGetCardCfgHandle))
                    {
                        m_lGetCardCfgHandle = -1;
                    }
                }
                break;

            case 1002:
                SendNextCard();
                break;

            case 1003:
                IntPtr pCardInfo = (IntPtr)m.WParam.ToInt64();
                CHCNetSDK.NET_DVR_CARD_CFG_V50 struCardCfg = new CHCNetSDK.NET_DVR_CARD_CFG_V50();
                struCardCfg = (CHCNetSDK.NET_DVR_CARD_CFG_V50)Marshal.PtrToStructure(pCardInfo, typeof(CHCNetSDK.NET_DVR_CARD_CFG_V50));
                string strCardNo = System.Text.Encoding.UTF8.GetString(struCardCfg.byCardNo);
                AddToCardList(struCardCfg, strCardNo);
                Marshal.FreeHGlobal(pCardInfo);
                break;

            default:
                base.DefWndProc(ref m);
                break;
            }
        }
コード例 #24
0
        public void SetCardCfg(ref CHCNetSDK.NET_DVR_CARD_CFG_V50 struItem, string strCardNo = null)
        {
            if (null == struItem.byCardNo)
            {
                struItem.byCardNo = new byte[CHCNetSDK.ACS_CARD_NO_LEN];
            }
            if (null == struItem.byCardPassword)
            {
                struItem.byCardPassword = new byte[CHCNetSDK.CARD_PASSWORD_LEN];
            }
            if (null == struItem.wCardRightPlan)
            {
                struItem.wCardRightPlan = new ushort[CHCNetSDK.MAX_DOOR_NUM_256 * CHCNetSDK.MAX_CARD_RIGHT_PLAN_NUM];
            }
            if (null == struItem.byDoorRight)
            {
                struItem.byDoorRight = new byte[CHCNetSDK.MAX_DOOR_NUM_256];
            }
            if (null == struItem.byBelongGroup)
            {
                struItem.byBelongGroup = new byte[CHCNetSDK.MAX_GROUP_NUM_128];
            }
            if (null == struItem.byLockCode)
            {
                struItem.byLockCode = new byte[CHCNetSDK.MAX_LOCK_CODE_LEN];
            }
            if (null == struItem.byRoomCode)
            {
                struItem.byRoomCode = new byte[CHCNetSDK.MAX_DOOR_CODE_LEN];
            }
            if (null == struItem.byName)
            {
                struItem.byName = new byte[CHCNetSDK.NAME_LEN];
            }

            m_struCardCfg   = struItem;
            m_strCardNo     = strCardNo;
            m_strSaveCardNo = m_strCardNo;
            UpdateInterface();
        }
コード例 #25
0
        private bool SendCardData(CHCNetSDK.NET_DVR_CARD_CFG_V50 struCardCfg, uint dwDiffTime = 0)
        {
            if (-1 == m_lSetCardCfgHandle)
            {
                return(false);
            }
            uint dwSize = (uint)Marshal.SizeOf(struCardCfg);

            struCardCfg.dwSize = dwSize;
            IntPtr ptrStruCard = Marshal.AllocHGlobal((int)dwSize);

            Marshal.StructureToPtr(struCardCfg, ptrStruCard, false);
            if (!CHCNetSDK.NET_DVR_SendRemoteConfig(m_lSetCardCfgHandle, (int)CHCNetSDK.LONG_CFG_SEND_DATA_TYPE_ENUM.ENUM_ACS_SEND_DATA, ptrStruCard, dwSize))
            {
                Marshal.FreeHGlobal(ptrStruCard);
                string strTemp = null;
                strTemp = string.Format("Send Failed,CardNO:{0}", System.Text.Encoding.UTF8.GetString(m_struCardInfo.byCardNo).TrimEnd('\0'));
                g_formList.AddLog(m_lDeviceIndex, AcsDemoPublic.OPERATION_FAIL_T, strTemp);
                return(false);
            }
            Marshal.FreeHGlobal(ptrStruCard);
            return(true);
        }
コード例 #26
0
ファイル: CardManagement.cs プロジェクト: zimnerd/biometric
        private bool SendFirstCard()
        {
            if (-1 == m_lSetCardCfgHandle)
            {
                return(false);
            }
            if (m_BSendSel)
            {
                SendCardData(m_struSelSendCardCfg);
                m_BSendSel           = false;
                m_struSelSendCardCfg = new CHCNetSDK.NET_DVR_CARD_CFG_V50();
                return(true);
            }
            m_dwSendIndex = 0;
            if (m_dwCardNum < 1)
            {
                return(false);
            }
            m_struNowSendCard = m_struCardInfo[m_dwSendIndex];
            uint   dwSize      = (uint)Marshal.SizeOf(m_struNowSendCard);
            IntPtr ptrSendCard = Marshal.AllocHGlobal((int)dwSize);

            Marshal.StructureToPtr(m_struNowSendCard, ptrSendCard, false);
            if (!CHCNetSDK.NET_DVR_SendRemoteConfig(m_lSetCardCfgHandle, 3, ptrSendCard, dwSize))
            {
                Marshal.FreeHGlobal(ptrSendCard);
                ListViewItem listItem = new ListViewItem();
                listItem.Text = "FAIL";
                string strTemp = null;
                strTemp = string.Format("Send Fail,CardNO:{0}", System.Text.Encoding.UTF8.GetString(m_struNowSendCard.byCardNo));
                listItem.SubItems.Add(strTemp);
                this.AddList(listViewMessage, listItem);
                return(false);
            }
            Marshal.FreeHGlobal(ptrSendCard);
            return(true);
        }
コード例 #27
0
        private void UpdateInterface(bool bRefresh)
        {
            m_strCardNo     = textBoxCardNumber.Text;
            m_strSaveCardNo = m_strCardNo;
            m_struCardCfg   = new CHCNetSDK.NET_DVR_CARD_CFG_V50();
            m_struCardCfg.Init();

            m_struCardCfg.dwSize = (uint)Marshal.SizeOf(m_struCardCfg);
            byte[] byTempCardNo = new byte[CHCNetSDK.ACS_CARD_NO_LEN];
            byTempCardNo = System.Text.Encoding.UTF8.GetBytes(m_strCardNo);
            for (int i = 0; i < byTempCardNo.Length; i++)
            {
                m_struCardCfg.byCardNo[i] = byTempCardNo[i];
            }

            if (checkBoxEffectiveParameters.Checked)
            {
                m_struCardCfg.dwModifyParamType |= 0x1;
            }

            if (checkBoxCardIsValid.Checked)
            {
                m_struCardCfg.byCardValid = 1;
            }
            else
            {
                m_struCardCfg.byCardValid = 0;
            }

            if (checkBoxTheValidityOfParameter.Checked)
            {
                m_struCardCfg.dwModifyParamType |= 0x2;
                m_struCardCfg.struValid.byEnable = 1;
                if (checkBoxEnable.Checked)
                {
                    m_struCardCfg.struValid.struBeginTime.wYear    = (ushort)dateTimePickerStartDate.Value.Year;
                    m_struCardCfg.struValid.struBeginTime.byMonth  = (byte)dateTimePickerStartDate.Value.Month;
                    m_struCardCfg.struValid.struBeginTime.byDay    = (byte)dateTimePickerStartDate.Value.Day;
                    m_struCardCfg.struValid.struBeginTime.byHour   = (byte)dateTimePickerStartTime.Value.Hour;
                    m_struCardCfg.struValid.struBeginTime.byMinute = (byte)dateTimePickerStartTime.Value.Minute;
                    m_struCardCfg.struValid.struBeginTime.bySecond = (byte)dateTimePickerStartTime.Value.Second;
                    m_struCardCfg.struValid.struEndTime.wYear      = (ushort)dateTimePickerEndDate.Value.Year;
                    m_struCardCfg.struValid.struEndTime.byMonth    = (byte)dateTimePickerEndDate.Value.Month;
                    m_struCardCfg.struValid.struEndTime.byDay      = (byte)dateTimePickerEndDate.Value.Day;
                    m_struCardCfg.struValid.struEndTime.byHour     = (byte)dateTimePickerEndTime.Value.Hour;
                    m_struCardCfg.struValid.struEndTime.byMinute   = (byte)dateTimePickerEndTime.Value.Minute;
                    m_struCardCfg.struValid.struEndTime.bySecond   = (byte)dateTimePickerEndTime.Value.Second;
                }
            }
            if (checkBoxCardTypeParameter.Checked)
            {
                m_struCardCfg.dwModifyParamType |= 0x4;
                m_struCardCfg.byCardType         = (byte)(comboBoxCardType.SelectedIndex + 1);
            }
            if (checkBoxDoorLimitParameters.Checked)
            {
                m_struCardCfg.dwModifyParamType |= 0x8;
                System.Array.Clear(m_struCardCfg.byDoorRight, 0, m_struCardCfg.byDoorRight.Length);
                for (int i = 0; i < checkedListBoxDoorAuthority.Items.Count; i++)
                {
                    if (checkedListBoxDoorAuthority.GetItemChecked(i))
                    {
                        m_struCardCfg.byDoorRight[i] = 1;
                    }
                }
            }
            if (checkBoxTheFirstCardParameters.Checked)
            {
                m_struCardCfg.dwModifyParamType |= 0x10;
                m_struCardCfg.byLeaderCard       = Convert.ToByte(checkBoxFirstCard.Checked ? 1 : 0);
            }
            if (checkBoxTheBiggestCreditCardNumber.Checked)
            {
                m_struCardCfg.dwModifyParamType |= 0x20;
                uint.TryParse(textBoxMaximumCreditCard.Text, out m_struCardCfg.dwMaxSwipeTime);
            }
            ushort.TryParse(textBoxRoomNO.Text, out m_struCardCfg.wRoomNumber);
            if (checkBoxBelongsToGroupParameters.Checked)
            {
                m_struCardCfg.dwModifyParamType |= 0x40;
                System.Array.Clear(m_struCardCfg.byBelongGroup, 0, m_struCardCfg.byBelongGroup.Length);
                for (int i = 0; i < checkedListBoxGroup.Items.Count; i++)
                {
                    if (checkedListBoxGroup.GetItemChecked(i))
                    {
                        m_struCardCfg.byBelongGroup[i] = 1;
                    }
                }
            }
            if (checkBoxCardPasswordParameters.Checked)
            {
                m_struCardCfg.dwModifyParamType |= 0x80;
                byte[] byTempCardPassword = new byte[CHCNetSDK.CARD_PASSWORD_LEN];
                byTempCardPassword = System.Text.Encoding.UTF8.GetBytes(textBoxCardPassword.Text);
                for (int i = 0; i < byTempCardPassword.Length; i++)
                {
                    m_struCardCfg.byCardPassword[i] = byTempCardPassword[i];
                }
            }
            if (checkBoxCardAccessPlan.Checked)
            {
                m_struCardCfg.dwModifyParamType |= 0x100;
                int i;
                int j;
                for (i = 0; i < CHCNetSDK.MAX_DOOR_NUM; i++)
                {
                    for (j = 0; j < CHCNetSDK.MAX_CARD_RIGHT_PLAN_NUM; j++)
                    {
                        ushort.TryParse(listViewCardAuthorityScheme.Items[i * CHCNetSDK.MAX_CARD_RIGHT_PLAN_NUM + j].SubItems[2].Text,
                                        out m_struCardCfg.wCardRightPlan[i * CHCNetSDK.MAX_CARD_RIGHT_PLAN_NUM + j]);
                    }
                }
            }
            if (checkBoxHaveCreditCardNumber.Checked)
            {
                m_struCardCfg.dwModifyParamType |= 0x200;
                uint.TryParse(textBoxreditCard.Text, out m_struCardCfg.dwSwipeTime);
            }

            if (checkBoxWorkNo.Checked)
            {
                m_struCardCfg.dwModifyParamType |= 0x400;
                uint.TryParse(textBoxreditCard.Text, out m_struCardCfg.dwEmployeeNo);
            }

            ushort.TryParse(textBoxRoomNO.Text, out m_struCardCfg.wFloorNumber);

            m_struCardCfg.dwCardRight = 0;
            for (int i = 0; i < checkedListBoxCardAuthority.Items.Count; i++)
            {
                if (checkedListBoxCardAuthority.GetItemChecked(i))
                {
                    m_struCardCfg.dwCardRight |= (uint)(1 << i);
                }
            }
            uint.TryParse(textBoxWorkNo.Text, out m_struCardCfg.dwEmployeeNo);

            if (checkBoxName.Checked)
            {
                m_struCardCfg.dwModifyParamType |= 0x800;

                byte[] byTempName = new byte[CHCNetSDK.NAME_LEN];
                if (m_iEncodeType == 6)
                {
                    byTempName           = System.Text.Encoding.UTF8.GetBytes(textBoxName.Text);
                    m_struCardCfg.byName = new byte[CHCNetSDK.NAME_LEN];
                    byTempName.CopyTo(m_struCardCfg.byName, 0);
                }
                else
                {
                    byTempName           = System.Text.Encoding.Default.GetBytes(textBoxName.Text);
                    m_struCardCfg.byName = new byte[CHCNetSDK.NAME_LEN];
                    byTempName.CopyTo(m_struCardCfg.byName, 0);
                }
            }

            ushort.TryParse(textBoxDepartmentNo.Text, out m_struCardCfg.wDepartmentNo);
            ushort.TryParse(textBoxScheduleNo.Text, out m_struCardCfg.wSchedulePlanNo);
            m_struCardCfg.bySchedulePlanType = (byte)comboBoxScheduleType.SelectedIndex;

            m_struCardCfg.byCardModelType = (byte)comboBoxModelType.SelectedIndex;
            uint.TryParse(textBoxLockID.Text, out m_struCardCfg.dwLockID);
            uint.TryParse(textBoxCardOwnerID.Text, out m_struCardCfg.dwCardUserId);

            byte[] byTmpLockCode = new byte[CHCNetSDK.MAX_LOCK_CODE_LEN];
            byTmpLockCode = System.Text.Encoding.UTF8.GetBytes(textBoxLockCode.Text);
            for (int i = 0; i < byTmpLockCode.Length; i++)
            {
                m_struCardCfg.byLockCode[i] = byTmpLockCode[i];
            }

            byte[] byTempRoomCode = new byte[CHCNetSDK.MAX_DOOR_CODE_LEN];
            byTempRoomCode = System.Text.Encoding.UTF8.GetBytes(textBoxRoomCode.Text);
            for (int i = 0; i < byTempRoomCode.Length; i++)
            {
                m_struCardCfg.byRoomCode[i] = byTempRoomCode[i];
            }

            //input not int type ,make default to 1;
            if (!int.TryParse(textBoxAddCardNumber.Text, out m_iAddNum))
            {
                m_iAddNum = 1;
            }
        }
コード例 #28
0
ファイル: CardManagement.cs プロジェクト: zimnerd/biometric
        private void buttonDeleteCard_Click(object sender, EventArgs e)
        {
            if (-1 != m_lSetCardCfgHandle)
            {
                if (CHCNetSDK.NET_DVR_StopRemoteConfig(m_lSetCardCfgHandle))
                {
                    m_lSetCardCfgHandle = -1;
                }
            }
            m_bSendOne           = true;
            m_struSelSendCardCfg = GetSelItem();
            if (0 == listViewGataManage.SelectedItems.Count)
            {
                MessageBox.Show("Select list item first");
                return;
            }
            CHCNetSDK.NET_DVR_CARD_CFG_COND struCond = new CHCNetSDK.NET_DVR_CARD_CFG_COND();
            struCond.dwSize    = (uint)Marshal.SizeOf(struCond);
            struCond.dwCardNum = 1;
            if (checkBoxCheckNumber.Checked)
            {
                struCond.byCheckCardNo = 1;
            }
            else
            {
                struCond.byCheckCardNo = 0;
            }
            m_BSendSel = true;
            int    dwSize      = Marshal.SizeOf(struCond);
            IntPtr ptrStruCond = Marshal.AllocHGlobal(dwSize);

            Marshal.StructureToPtr(struCond, ptrStruCond, false);
            g_fSetGatewayCardCallback = new CHCNetSDK.RemoteConfigCallback(ProcessSetGatewayCardCallback);
            m_lSetCardCfgHandle       = CHCNetSDK.NET_DVR_StartRemoteConfig(m_lUserID, CHCNetSDK.NET_DVR_SET_CARD_CFG_V50, ptrStruCond, dwSize, g_fSetGatewayCardCallback, this.Handle);
            if (-1 == m_lSetCardCfgHandle)
            {
                ListViewItem listItem = new ListViewItem();
                listItem.Text = "FAIL";
                string strTemp = string.Format("NET_DVR_SET_CARD_CFG_V50 FAIL, ERROR CODE {0}", CHCNetSDK.NET_DVR_GetLastError());
                listItem.SubItems.Add(strTemp);
                this.AddList(listViewMessage, listItem);
                Marshal.FreeHGlobal(ptrStruCond);
                return;
            }
            else
            {
                ListViewItem listItem = new ListViewItem();
                listItem.Text = "SUCC";
                listItem.SubItems.Add("NET_DVR_SET_CARD_CFG_V50");
                this.AddList(listViewMessage, listItem);
            }
            Marshal.FreeHGlobal(ptrStruCond);
            if (m_BSendSel)
            {
                m_dwCardNum   = 1;
                m_dwSendIndex = 0;
                m_struSelSendCardCfg.byCardValid = 0;
                SendCardData(m_struSelSendCardCfg);
                m_BSendSel           = false;
                m_struSelSendCardCfg = new CHCNetSDK.NET_DVR_CARD_CFG_V50();
                return;
            }
        }
コード例 #29
0
ファイル: CardManagement.cs プロジェクト: zimnerd/biometric
        private void buttonEdit_Click(object sender, EventArgs e)
        {
            if (m_iSelectIndex < 0)
            {
                MessageBox.Show("Select list item first");
                return;
            }
            string strTemp1  = null;
            string strTemp2  = null;
            string strItem   = null;
            int    iSelIndex = m_iSelectIndex;

            CHCNetSDK.NET_DVR_CARD_CFG_V50 struCardInfo = m_struCardInfo[iSelIndex];
            string        strCardNo = listViewGataManage.Items[iSelIndex].SubItems[1].Text;
            CardConfigure batchAdd  = new CardConfigure();

            batchAdd.SetCardCfg(ref struCardInfo, strCardNo);
            if (batchAdd.ShowDialog() == DialogResult.OK)
            {
                listViewGataManage.BeginUpdate();
                struCardInfo = batchAdd.GetCardCfg(strCardNo);
                listViewGataManage.Items[iSelIndex].SubItems[1].Text = System.Text.Encoding.UTF8.GetString(struCardInfo.byCardNo);
                if (1 == struCardInfo.byCardValid)
                {
                    strItem = "Yes";
                }
                else
                {
                    strItem = "No";
                }
                listViewGataManage.Items[iSelIndex].SubItems[2].Text = strItem;
                listViewGataManage.Items[iSelIndex].SubItems[3].Text = System.Text.Encoding.UTF8.GetString(struCardInfo.byCardPassword);
                if (struCardInfo.byCardType == 0 || struCardInfo.byCardType > 7)
                {
                    listViewGataManage.Items[iSelIndex].SubItems[4].Text = AcsDemoPublic.strCardType[0];
                }
                else
                {
                    listViewGataManage.Items[iSelIndex].SubItems[4].Text = AcsDemoPublic.strCardType[struCardInfo.byCardType];
                }
                if (1 == struCardInfo.byLeaderCard)
                {
                    strItem = "Yes";
                }
                else
                {
                    strItem = "No";
                }
                listViewGataManage.Items[iSelIndex].SubItems[5].Text = strItem;
                listViewGataManage.Items[iSelIndex].SubItems[6].Text = struCardInfo.dwMaxSwipeTime.ToString();
                listViewGataManage.Items[iSelIndex].SubItems[7].Text = struCardInfo.dwSwipeTime.ToString();
                if (1 == struCardInfo.struValid.byEnable)
                {
                    strItem = "Yes";
                    CHCNetSDK.NET_DVR_TIME_EX strTimeEx1 = struCardInfo.struValid.struBeginTime;
                    strTemp1 = string.Format("{0,4}-{1,2}-{2,2}, {3,2}:{4,2}:{5,2}", strTimeEx1.wYear, strTimeEx1.byMonth,
                                             strTimeEx1.byDay, strTimeEx1.byHour, strTimeEx1.byMinute, strTimeEx1.bySecond);
                    CHCNetSDK.NET_DVR_TIME_EX strTimeEx2 = struCardInfo.struValid.struEndTime;
                    strTemp2 = string.Format("{0,4}-{1,2}-{2,2}, {3,2}:{4,2}:{5,2}", strTimeEx2.wYear, strTimeEx2.byMonth,
                                             strTimeEx2.byDay, strTimeEx2.byHour, strTimeEx2.byMinute, strTimeEx2.bySecond);
                }
                else
                {
                    strItem = "No";
                }
                listViewGataManage.Items[iSelIndex].SubItems[8].Text  = strItem;
                listViewGataManage.Items[iSelIndex].SubItems[9].Text  = strTemp1;
                listViewGataManage.Items[iSelIndex].SubItems[10].Text = strTemp2;
                listViewGataManage.Items[iSelIndex].SubItems[11].Text = struCardInfo.wRoomNumber.ToString();
                listViewGataManage.EndUpdate();
            }
        }
コード例 #30
0
ファイル: CardManagement.cs プロジェクト: zimnerd/biometric
        private void UpdateList(int iInsertIndex, string strCardNo, CHCNetSDK.NET_DVR_CARD_CFG_V50 struCardInfo)
        {
            ListViewItem lvItem;

            lvItem = new ListViewItem();
            string strTemp1 = null;
            string strTemp2 = null;
            string strItem  = null;

            strItem     = (iInsertIndex + 1).ToString();
            lvItem.Text = strItem;
            lvItem.SubItems.Add(System.Text.Encoding.UTF8.GetString(struCardInfo.byCardNo));
            if (1 == struCardInfo.byCardValid)
            {
                strItem = "Yes";
            }
            else
            {
                strItem = "No";
            }
            lvItem.SubItems.Add(strItem);
            lvItem.SubItems.Add(System.Text.Encoding.UTF8.GetString(struCardInfo.byCardPassword));
            if (struCardInfo.byCardType == 0 || struCardInfo.byCardType > 7)
            {
                lvItem.SubItems.Add(AcsDemoPublic.strCardType[0]);
            }
            else
            {
                lvItem.SubItems.Add(AcsDemoPublic.strCardType[struCardInfo.byCardType]);
            }
            if (1 == struCardInfo.byLeaderCard)
            {
                strItem = "Yes";
            }
            else
            {
                strItem = "No";
            }
            lvItem.SubItems.Add(strItem);
            lvItem.SubItems.Add(struCardInfo.dwMaxSwipeTime.ToString());
            lvItem.SubItems.Add(struCardInfo.dwSwipeTime.ToString());
            if (1 == struCardInfo.struValid.byEnable)
            {
                strItem = "Yes";
                CHCNetSDK.NET_DVR_TIME_EX strTimeEx1 = struCardInfo.struValid.struBeginTime;
                strTemp1 = string.Format("{0,4}-{1,0:D2}-{2,0:D2}, {3,0:D2}:{4,0:D2}:{5,0:D2}", strTimeEx1.wYear, strTimeEx1.byMonth,
                                         strTimeEx1.byDay, strTimeEx1.byHour, strTimeEx1.byMinute, strTimeEx1.bySecond);
                CHCNetSDK.NET_DVR_TIME_EX strTimeEx2 = struCardInfo.struValid.struEndTime;
                strTemp2 = string.Format("{0,4}-{1,0:D2}-{2,0:D2}, {3,0:D2}:{4,0:D2}:{5,0:D2}", strTimeEx2.wYear, strTimeEx2.byMonth,
                                         strTimeEx2.byDay, strTimeEx2.byHour, strTimeEx2.byMinute, strTimeEx2.bySecond);
            }
            else
            {
                strItem = "No";
            }
            lvItem.SubItems.Add(strItem);
            lvItem.SubItems.Add(strTemp1);
            lvItem.SubItems.Add(strTemp2);
            lvItem.SubItems.Add("");
            lvItem.SubItems.Add(struCardInfo.wRoomNumber.ToString());
            lvItem.SubItems.Add(struCardInfo.wFloorNumber.ToString());
            this.AddList(listViewGataManage, lvItem);
        }