public const int MAX_SSR_SMS_CONTENT_SIZE = 160;//the max length of short message in the TFT screen devices /**************************************************************************************************************************** * FunctionName:GetSSRUserInfoFromDat * Parameters In:PDataBuf * Parameters Out:PIN,Privilege,Password,Name,Card,Group,TimeZones(string),PIN2(string) * Return Value:void * Device Used:user.dat in TFT screen Device * Function:To parse the bytes arrays from user.dat according to the class SSR_User and get out the independent parameters * Auther:Darcy * Date:Oct.23, 2009 *****************************************************************************************************************************/ public void GetSSRUserInfoFromDat(byte[] DataBuf, out int PIN, out int Privilege, out string Password, out string Name, out int Card, out int Group, out string TimeZone, out string PIN2) { byte[] PasswordBuf = new byte[8]; byte[] NameBuf = new byte[24]; byte[] TimeZoneBuf = new byte[8]; byte[] PIN2Buf = new byte[24]; SSR_User ssruser = new SSR_User(); ssruser = (SSR_User)Raw.RawDeserialize(DataBuf, typeof(SSR_User)); PIN = ssruser.PIN; Privilege = ssruser.Privilege; Array.Copy(DataBuf, 3, PasswordBuf, 0, 8); Password = System.Text.Encoding.Default.GetString(PasswordBuf);//"default" is to read the system's current ANSI code page encoding Array.Copy(DataBuf, 11, NameBuf, 0, 24); Name = System.Text.Encoding.Default.GetString(NameBuf); Card = 0; for (int i = 35; i <= 38; i++) { Card += Convert.ToInt32(DataBuf[i] * System.Math.Pow(16, 2 * (i - 35))); } Group = ssruser.Group; Array.Copy(DataBuf, 40, TimeZoneBuf, 0, 8); TimeZone = System.Text.Encoding.Default.GetString(TimeZoneBuf); Array.Copy(DataBuf, 48, PIN2Buf, 0, 24); PIN2 = System.Text.Encoding.Default.GetString(PIN2Buf); }
/**************************************************************************************************************************** * FunctionName:GetTemplateFromDat * Parameters In:DataBuf * Parameters Out:Size,PIN,FingerID,Valid,Template * Return Value:void * Device Used:template.dat in TFT screen devices using 9.0 arithmetic * Function:To parse the bytes arrays from template.dat according to the class Template and get out the independent parameters * Explanation:To parse according to the max finger templage 602bytes * Auther:Darcy * Date:Oct.23, 2009 *****************************************************************************************************************************/ public void GetTemplateFromDat(byte[] DataBuf, out int Size, out int PIN, out int FingerID, out int Valid, out string Template) { byte[] TemplateBuf = new byte[602]; Templates9 tmp = new Templates9(); tmp = (Templates9)Raw.RawDeserialize(DataBuf, typeof(Templates9)); Size = tmp.Size; PIN = tmp.PIN; FingerID = tmp.FingerID; Valid = tmp.Valid; Array.Copy(DataBuf, 6, TemplateBuf, 0, 602); Template = BitConverter.ToString(TemplateBuf).Replace("-", "");//Str to Hex }
/**************************************************************************************************************************** * FunctionName: GetFaceFromDat * Parameters In:DataBuf * Parameters Out: Size,PIN,FaceID,Valid,Reserve,ActiveTime,VfCount,Face * Return Value:void * Device Used:devices supporting faces registering * Function:To parse the bytes arrays from ssrface.dat according to the class FaceTmp and get out the independent parameters * Auther:Darcy * Date:Oct.23, 2009 *****************************************************************************************************************************/ public void GetFaceFromDat(byte[] DataBuf, out int Size, out int PIN, out int FaceID, out int Valid, out int Reserve, out int ActiveTime, out int VfCount, out string Face) { byte[] FaceBuf = new byte[2560]; FaceTmp face = new FaceTmp(); face = (FaceTmp)Raw.RawDeserialize(DataBuf, typeof(FaceTmp)); Size = face.Size; PIN = face.PIN; FaceID = face.FaceID; Valid = face.Valid; Reserve = face.Reserve; ActiveTime = (int)face.ActiveTime; VfCount = (int)face.VfCount; Array.Copy(DataBuf, 16, FaceBuf, 0, 2560); Face = BitConverter.ToString(FaceBuf).Replace("-", "");//Str to Hex }