示例#1
0
文件: MSD150SDK.cs 项目: ewin66/RAPH
        public APIResultViewModel SetEmployeeName(int BMDCode, string EmployeeName)
        {
            Boolean            vRet;
            int                vErrorCode = 0;
            APIResultViewModel Result     = new APIResultViewModel();

            vRet = SBXPCDLL.EnableDevice(this.MachineNo, 0); // 0 : false
            if (!vRet)
            {
                Result.Result = eExecutionResult.Error;
                Result.Error  = util.gstrNoDevice;
                return(Result);
            }

            vRet = SBXPCDLL.SetUserName1(this.MachineNo, BMDCode, EmployeeName);
            if (vRet)
            {
                Result.Result = eExecutionResult.Succeed;
            }
            else
            {
                SBXPCDLL.GetLastError(this.MachineNo, out vErrorCode);
                Result.Error  = util.ErrorPrint(vErrorCode);
                Result.Result = eExecutionResult.Error;
            }

            SBXPCDLL.EnableDevice(this.MachineNo, 1); // 1 : true

            return(Result);
        }
示例#2
0
文件: MSD150SDK.cs 项目: ewin66/RAPH
        public APIResultViewModel GetEmployeeAttendanceAllLog()
        {
            APIResultViewModel Result = new APIResultViewModel();
            Boolean            vRet;
            int vErrorCode = 0;

            vRet = SBXPCDLL.EnableDevice(MachineNo, 0); // 0 : Disable device

            if (!vRet)
            {
                Result.Result = eExecutionResult.Error;
                Result.Error  = "Can not open device. No device found.";
                return(Result);
            }

            vRet = SBXPCDLL.ReadAllGLogData(MachineNo);
            if (!vRet)
            {
                SBXPCDLL.GetLastError(MachineNo, out vErrorCode);
                Result.Result = eExecutionResult.Error;
                Result.Error  = "Can not read attendance. " + util.ErrorPrint(vErrorCode);

                vRet = SBXPCDLL.EnableDevice(MachineNo, 1); // 0 : Enable device
                return(Result);
            }

            if (vRet)
            {
                List <GLogInfo> glogs_ = new List <GLogInfo>();
                while (true)
                {
                    GLogInfo gi = new GLogInfo();
                    vRet = SBXPCDLL.GetAllGLogData(MachineNo,
                                                   out gi.tmno,
                                                   out gi.seno,
                                                   out gi.smno,
                                                   out gi.vmode,
                                                   out gi.yr,
                                                   out gi.mon,
                                                   out gi.day,
                                                   out gi.hr,
                                                   out gi.min,
                                                   out gi.sec);
                    if (!vRet)
                    {
                        break;
                    }
                    glogs_.Add(gi);
                }
                Result.Result      = eExecutionResult.Succeed;
                Result.ResultValue = glogs_;
            }
            vRet = SBXPCDLL.EnableDevice(MachineNo, 1); // 0 : Enable device
            return(Result);
        }
示例#3
0
文件: MSD150SDK.cs 项目: ewin66/RAPH
        public APIResultViewModel EnrollNewEmployee(int BMDCode, string EmployeeName)
        {
            APIResultViewModel Result = new APIResultViewModel();
            Boolean            vRet;
            int vErrorCode = 0;

            eEnroll_FingerNo FingerNo = eEnroll_FingerNo.Password;

            // Setting password
            glngEnrollPData = 1; // setting password statically value "1"

            eEnroll_UserLevl UserLevel = eEnroll_UserLevl.Employee;

            GCHandle gh;
            IntPtr   AddrOfTemplngEnrollData;

            vRet = SBXPCDLL.EnableDevice(MachineNo, 0); // 0 : false

            if (!vRet)
            {
            }

            gh = GCHandle.Alloc(gTemplngEnrollData, GCHandleType.Pinned);
            AddrOfTemplngEnrollData = gh.AddrOfPinnedObject();

            vRet = SBXPCDLL.SetEnrollData1(MachineNo, BMDCode, (int)FingerNo, (int)UserLevel,
                                           AddrOfTemplngEnrollData, glngEnrollPData);

            gh.Free();

            if (vRet)
            {
                Result.Result = eExecutionResult.Succeed;
            }
            else
            {
                Result.Result = eExecutionResult.Error;
                if (SBXPCDLL.GetLastError(MachineNo, out vErrorCode))
                {
                    Result.Error = util.ErrorPrint(vErrorCode);
                }
            }

            if (Result.Result == eExecutionResult.Succeed)
            {
                Result = SetEmployeeName(BMDCode, EmployeeName);
            }

            SBXPCDLL.EnableDevice(MachineNo, 1); // 1 : true

            //--
            return(Result);
        }
示例#4
0
文件: MSD150SDK.cs 项目: ewin66/RAPH
        protected APIResultViewModel GetEnrollmentData(int vEnrollNumber, eEnrollmentData_BackupNo BackupNo)
        {
            int     vEMachineNumber;
            int     vFingerNumber;
            int     vPrivilege = 0;
            Boolean vRet;
            int     vErrorCode = 0;
            int     i;

            GCHandle gh;
            IntPtr   AddrOfTemplngEnrollData;

            APIResultViewModel Result = new APIResultViewModel();

            vRet = SBXPCDLL.EnableDevice(this.MachineNo, 0); // 0 : false
            if (!vRet)
            {
                Result.Result = eExecutionResult.Error;
                Result.Error  = "Can not connect to device.";
                return(Result);
            }

            vFingerNumber = (int)BackupNo;
            if (vFingerNumber == 10)
            {
                vFingerNumber = 15;
            }
            vEMachineNumber = this.MachineNo;

            gh = GCHandle.Alloc(gTemplngEnrollData, GCHandleType.Pinned);
            AddrOfTemplngEnrollData = gh.AddrOfPinnedObject();

            glngEnrollPData = 0;

            vRet = SBXPCDLL.GetEnrollData1(this.MachineNo, vEnrollNumber, vFingerNumber, out vPrivilege, AddrOfTemplngEnrollData, out glngEnrollPData);

            gh.Free();

            if (vRet)
            {
                if (vFingerNumber == 11) // Card Number
                {
                    Result.ResultValue = Convert.ToString(glngEnrollPData, 16).ToUpper();
                }
                else if (vFingerNumber == 14) // User timezone
                {
                    Result.ResultValue  = Convert.ToString(glngEnrollPData % 64); glngEnrollPData = glngEnrollPData / 64;
                    Result.ResultValue += Convert.ToString(glngEnrollPData % 64); glngEnrollPData = glngEnrollPData / 64;
                    Result.ResultValue += Convert.ToString(glngEnrollPData % 64); glngEnrollPData = glngEnrollPData / 64;
                    Result.ResultValue += Convert.ToString(glngEnrollPData % 64); glngEnrollPData = glngEnrollPData / 64;
                    Result.ResultValue += Convert.ToString(glngEnrollPData % 64); glngEnrollPData = glngEnrollPData / 64;
                }
                else if (vFingerNumber == 15) // Password
                {
                    Result.ResultValue = "";
                    while (glngEnrollPData > 0)
                    {
                        i = glngEnrollPData % 16 - 1;
                        Result.ResultValue += Convert.ToString(i);
                        glngEnrollPData     = glngEnrollPData / 16;
                    }
                }
                else if (vFingerNumber == 16) // User department
                {
                    Result.ResultValue = Convert.ToString(glngEnrollPData);
                }
                else if (vFingerNumber == 17) // Face Data
                {
                    Result.ResultValue = "";
                    for (i = 0; i < DATASIZE_FACE; i++)
                    {
                        Result.ResultValue += Convert.ToString(gTemplngEnrollData[i]);
                    }
                }
                else // other
                {
                    Result.ResultValue = "";
                    for (i = 0; i < DATASIZE; i++)
                    {
                        Result.ResultValue += Convert.ToString(gTemplngEnrollData[i]);
                    }
                }
            }
            else
            {
                SBXPCDLL.GetLastError(this.MachineNo, out vErrorCode);
                Result.Result = eExecutionResult.Error;
                Result.Error  = util.ErrorPrint(vErrorCode);
            }

            SBXPCDLL.EnableDevice(this.MachineNo, 1);
            //--
            return(Result);
        }