public void SaveSnapLog(string LogStr)
        {
            VerifyPush <SnapPush> verifyPush = JsonConvert.DeserializeObject <VerifyPush <SnapPush> >(LogStr);

            byte[] PhotoImage = null;
            string GUID       = "";

            MacSN      = verifyPush.info.DeviceID.ToString();
            PhotoImage = Convert.FromBase64String(verifyPush.SanpPic.Replace("data:image/jpeg;base64,", ""));
            DateTime time = Convert.ToDateTime(verifyPush.info.CreateTime);

            db.SaveSnapLog(MacSN, verifyPush.info.PictureType, time.ToString(SystemInfo.SQLDateTimeFMT), verifyPush.info.Temperature.ToString(), verifyPush.info.TemperatureAlarm.ToString(), PhotoImage, ref GUID);
            attLog.CardID   = "0";
            attLog.CardTime = time;
            if (prog != null)
            {
                prog(attLog, Int32.Parse(MacSN), GUID);
            }
        }
        public void SaveFaceLog(string LogStr)
        {
            byte[]                              PhotoImage         = null;
            DataTableReader                     dr                 = null;
            int                                 InOutMode          = 0;
            int                                 VerifyStatus       = 0;
            int                                 VerifyType         = 0;
            string                              GUID               = "";
            VerifyPush <VerifyPushInfo>         verifyPush         = null;
            VerifyPush <RemoteOpenDoorPushInfo> remoteOpenDoorPush = null;

            if (LogStr.Contains("RemoteOpenDoorPush"))
            {
                remoteOpenDoorPush = JsonConvert.DeserializeObject <VerifyPush <RemoteOpenDoorPushInfo> >(LogStr);
                MacSN         = remoteOpenDoorPush.info.DeviceID.ToString();
                attLog.Remark = "";
                UInt32 FingerNo = 0;
                attLog          = new TSeaLog();
                attLog.CardID   = FingerNo.ToString("0000000000");
                attLog.CardTime = DateTime.Parse(remoteOpenDoorPush.info.CreateTime);
                attLog.FingerNo = FingerNo;
                VerifyStatus    = 27;
                VerifyType      = remoteOpenDoorPush.info.VerfyType;
            }
            else
            {
                verifyPush    = JsonConvert.DeserializeObject <VerifyPush <VerifyPushInfo> >(LogStr);
                MacSN         = verifyPush.info.DeviceID.ToString();
                attLog.Remark = verifyPush.info.Notes;
                UInt32 FingerNo = 0;
                UInt32.TryParse(verifyPush.info.ToString(), out FingerNo);
                attLog                  = new TSeaLog();
                attLog.CardID           = FingerNo.ToString("0000000000");
                attLog.CardTime         = DateTime.Parse(verifyPush.info.CreateTime);
                attLog.FingerNo         = FingerNo;
                attLog.Temperature      = verifyPush.info.Temperature;
                attLog.TemperatureAlarm = verifyPush.info.TemperatureAlarm;
                VerifyType              = verifyPush.info.VerfyType;
                VerifyStatus            = verifyPush.info.VerifyStatus;
                if (verifyPush.SanpPic != null)
                {
                    PhotoImage = Convert.FromBase64String(verifyPush.SanpPic.Replace("data:image/jpeg;base64,", ""));
                }
                else
                {
                    PhotoImage = new byte[0];
                }
            }
            if (!db.IsOpen)
            {
                db.Open(SystemInfo.ConnStr);
            }
            dr = db.GetDataReader("SELECT * FROM VSEA_MacInfoFace WHERE MacSN='" + MacSN + "'");
            if (dr.Read())
            {
                int.TryParse(dr["MacInOut"].ToString(), out InOutMode);
            }
            dr.Close();
            readData.Sea_SetLogName(attLog, InOutMode, VerifyStatus, VerifyType);
            readData.WriteTextFile(attLog, Int32.Parse(MacSN), true);
            if (textFormat.Allow)
            {
                readData.WriteTextFormat(db, textFormat, attLog, Int32.Parse(MacSN), true);
            }
            readData.SeaSaveDB(db, attLog, Int32.Parse(MacSN), attLog.FingerNo, PhotoImage);

            if (attLog.VerifyMode == 0)
            {
                attLog.VerifyMode     = attLog.DoorMode;
                attLog.VerifyModeName = attLog.DoorModeName;
            }

            readData.SeaSaveDBMJ(db, attLog, MacSN.ToString(), PhotoImage, ref GUID);
            if (prog != null)
            {
                prog(attLog, Int32.Parse(MacSN), GUID);
            }
        }