Ejemplo n.º 1
0
        public FingerDetail analyticFingerData(byte[] bytes)
        {
            FingerDetail fingerinfo = new FingerDetail();
            string       jsonString = string.Empty;

            if (bytes != null && bytes.Length == 512)
            {
                fingerinfo.FingerFileHeader          = (int)bytes[0];
                fingerinfo.FingerAlgoVersion         = (int)bytes[1];
                fingerinfo.FingerCollectorCode       = (int)bytes[2];
                fingerinfo.FingerAlgoDevelopCode     = (int)bytes[3];
                fingerinfo.FingerRegistResult        = (int)bytes[4];
                fingerinfo.FingerPosCode             = (int)bytes[5];
                fingerinfo.FingerPosName             = analyticFingerName(fingerinfo.FingerPosCode);
                fingerinfo.FingerPrintQlty           = bytes[6];
                fingerinfo.FingerCharacterCount      = (int)bytes[19];
                fingerinfo.FingerCharacterDateLength = Convert.ToInt64((int)bytes[20] << 8 | (int)bytes[21]);
                fingerinfo.FingerCenterData          = new byte[9];

                Array.ConstrainedCopy(bytes, 22, fingerinfo.FingerCenterData, 0, fingerinfo.FingerCenterData.Length);
                fingerinfo.FingerCharacterDetailData = new byte[fingerinfo.FingerCharacterDateLength];
                Array.ConstrainedCopy(bytes, 31, fingerinfo.FingerCharacterDetailData, 0, fingerinfo.FingerCharacterDetailData.Length);
            }
            return(fingerinfo);
        }
Ejemplo n.º 2
0
        public bool ParserFingerBuffer(byte[] bytes)
        {
            string jsonString = string.Empty;

            if (bytes != null && bytes.Length == 1024)
            {
                fingerbufFirst = new byte[bytes.Length / 2];
                fingerbufScend = new byte[bytes.Length / 2];
                Array.ConstrainedCopy(bytes, 0, fingerbufFirst, 0, fingerbufFirst.Length);
                Array.ConstrainedCopy(bytes, fingerbufScend.Length, fingerbufScend, 0, fingerbufScend.Length);
                fingerinfoFirst = analyticFingerData(fingerbufFirst);
                fingerinfoScend = analyticFingerData(fingerbufScend);
                if (fingerinfoFirst.FingerRegistResult != 1 || fingerinfoScend.FingerRegistResult != 1)
                {
                    return(false);
                }
                else
                {
                    int code = fingerinfoFirst.FingerPosCode;
                    if (code >= 16 && code <= 20)
                    {
                        _leftFinger = new RicFingerInfo()
                        {
                            FingerBuffer = fingerbufFirst, FingerPosCode = (byte)code, FingerQuality = fingerinfoFirst.FingerPrintQlty
                        }
                    }
                    ;
                    else if (code >= 11 && code <= 15)
                    {
                        _rightFinger = new RicFingerInfo()
                        {
                            FingerBuffer = fingerbufFirst, FingerPosCode = (byte)code, FingerQuality = fingerinfoFirst.FingerPrintQlty
                        }
                    }
                    ;

                    code = fingerinfoScend.FingerPosCode;
                    if (code >= 11 && code <= 15)
                    {
                        _leftFinger = new RicFingerInfo()
                        {
                            FingerBuffer = fingerbufFirst, FingerPosCode = (byte)code, FingerQuality = fingerinfoFirst.FingerPrintQlty
                        }
                    }
                    ;
                    else if (code >= 16 && code <= 20)
                    {
                        _rightFinger = new RicFingerInfo()
                        {
                            FingerBuffer = fingerbufFirst, FingerPosCode = (byte)code, FingerQuality = fingerinfoFirst.FingerPrintQlty
                        }
                    }
                    ;
                }
            }
            return(true);
        }