Exemple #1
0
 public QueryTimeParser(AsynchLockServerSocketService InputAsynchSocketServiceBaseFrame, SocketServiceReadWriteChannel InputReadWriteObject, int InputRecieveCount)
 {
     this.MyAsynchLockServerSocketService = InputAsynchSocketServiceBaseFrame;
     this.MyReadWriteChannel = InputReadWriteObject;
     this.MyReadBuffers      = InputReadWriteObject.MyReadBuffers;
     this.MyRecieveCount     = InputRecieveCount;
 }
 public PingCommandParser(AsynchLockServerSocketService InAsynchLockServerSocketService, SocketServiceReadWriteChannel InputReadWriteObject, int InputRecieveCount)
 {
     this.MyAsynchLockServerSocketService = InAsynchLockServerSocketService;
     this.MyReadWriteChannel = InputReadWriteObject;
     this.MyReadBuffers      = InputReadWriteObject.MyReadBuffers;
     this.MyRecieveCount     = InputRecieveCount;
 }
 public LoginCommandParser(AsynchLockServerSocketService InputAsynchSocketService, LoginUser MeLoginUser, int InputRecieveCount)
 {
     this.MyAsynchLockServerSocketService = InputAsynchSocketService;
     this.MyLoginUser        = MeLoginUser;
     this.MyReadWriteChannel = MeLoginUser.MyReadWriteSocketChannel;
     this.MyRecieveCount     = InputRecieveCount;
 }
 public LoginCommandParser(AsynchLockServerSocketService InputAsynchSocketService, SocketServiceReadWriteChannel InputReadWriteChannel, int InputRecieveCount)
 {
     //this.MyAsynchSocketServiceBaseFrame = InputAsynchSocketServiceBaseFrame;
     this.MyAsynchLockServerSocketService = InputAsynchSocketService;
     this.MyReadWriteChannel = InputReadWriteChannel;
     this.MyRecieveCount     = InputRecieveCount;
 }
Exemple #5
0
 public OPenDoorMessageProcess(AsynchLockServerSocketService InputAsynchSocketServiceBaseFrame, SocketServiceReadWriteChannel InputReadWriteObject, int InputRecieveCount)
 {
     this.MyAsynchLockServerSocketService = InputAsynchSocketServiceBaseFrame;
     this.MyReadWriteChannel = InputReadWriteObject;
     this.MyReadBuffers      = InputReadWriteObject.MyReadBuffers;
     this.MyRecieveCount     = InputRecieveCount;
 }
Exemple #6
0
 public UpdateKeyParser(AsynchLockServerSocketService InputAsynchSocketServiceBaseFrame, SocketServiceReadWriteChannel InputReadWriteChannel, int InRecieveCount)
 {
     this.MyAsynchLockServerSocketService = InputAsynchSocketServiceBaseFrame;
     this.MyReadWriteChannel = InputReadWriteChannel;
     this.MyReadBuffers      = InputReadWriteChannel.MyReadBuffers;
     this.MyRecieveCount     = InRecieveCount;
 }
Exemple #7
0
 public GetOpenDoor(AsynchLockServerSocketService InAsynchLockServerSocketService, SocketServiceReadWriteChannel InputReadWriteChannel, int InRecieveCount)
 {
     this.MyAsynchLockServerSocketService = InAsynchLockServerSocketService;
     this.MyReadWriteChannel = InputReadWriteChannel;
     this.MyReadBuffers      = InputReadWriteChannel.MyReadBuffers;
     this.MyRecieveCount     = InRecieveCount;
 }
Exemple #8
0
 public MobileBindLockParser(AsynchLockServerSocketService InputAsynchSocketServiceBaseFrame, SocketServiceReadWriteChannel InputReadWriteObject, int InRecieveCount)
 {
     //老版本
     this.MyAsynchLockServerSocketService = InputAsynchSocketServiceBaseFrame;
     this.MyReadWriteChannel = InputReadWriteObject;
     this.MyReadBuffers      = InputReadWriteObject.MyReadBuffers;
     this.MyRecieveCount     = InRecieveCount;
 }
Exemple #9
0
 public ImageFileReceiveProcess(AsynchLockServerSocketService InAsynchLockServerSocketService, SocketServiceReadWriteChannel InputReadWriteObject, int InputRecieveCount)
 {
     //旧版
     this.MyAsynchLockServerSocketService = InAsynchLockServerSocketService;
     this.MyReadWriteChannel = InputReadWriteObject;
     this.MyReadBuffers      = InputReadWriteObject.MyReadBuffers;
     this.MyRecieveCount     = InputRecieveCount;
 }
Exemple #10
0
 public OPenDoorMessageProcess(AsynchLockServerSocketService InAsynchLockServerSocketService, LoginUser MeLoginUser, int MeRecieveCount)
 {
     this.MyAsynchLockServerSocketService = InAsynchLockServerSocketService;
     this.MyLoginUser        = MeLoginUser;
     this.MyReadWriteChannel = MeLoginUser.MyReadWriteSocketChannel;
     this.MyReadBuffers      = this.MyReadWriteChannel.MyReadBuffers;
     this.MyRecieveCount     = MeRecieveCount;
 }
Exemple #11
0
 public RemoteOpen(AsynchLockServerSocketService InputAsynchSocketServiceBaseFrame, SocketServiceReadWriteChannel InputReadWriteChannel, int InRecieveCount)
 {
     //老版本
     this.MyAsynchLockServerSocketService = InputAsynchSocketServiceBaseFrame;
     this.MyReadWriteChannel = InputReadWriteChannel;
     this.MyReadBuffers      = InputReadWriteChannel.MyReadBuffers;
     this.MyRecieveCount     = InRecieveCount;
 }
Exemple #12
0
 public ElectKeyManager(AsynchLockServerSocketService InputAsynchSocketServiceBaseFrame, SocketServiceReadWriteChannel InputReadWriteChannel, int InRecieveCount, int CRUDflag)
 {
     this.MyAsynchLockServerSocketService = InputAsynchSocketServiceBaseFrame;
     this.MyReadWriteChannel = InputReadWriteChannel;
     this.MyReadBuffers      = InputReadWriteChannel.MyReadBuffers;
     this.MyRecieveCount     = InRecieveCount;
     this.nCRUDflag          = CRUDflag;//0:ADDKEY,1:DELETEKEY 3:TEMPKEY
 }
Exemple #13
0
 public QueryTimeParser(AsynchLockServerSocketService InAsynchLockServerSocketService, LoginUser MeLoginUser, int MeRecieveCount)
 {
     this.MyAsynchLockServerSocketService = InAsynchLockServerSocketService;
     this.MyLoginUser        = MeLoginUser;
     this.MyReadWriteChannel = MeLoginUser.MyReadWriteSocketChannel;
     this.MyReadBuffers      = this.MyReadWriteChannel.MyReadBuffers;
     this.MyRecieveCount     = MeRecieveCount;
 }
Exemple #14
0
 public ImageFileReceiveProcess(AsynchLockServerSocketService InAsynchLockServerSocketService, LoginUser MeLoginUser, int MeRecieveCount)
 {
     //新版
     this.MyAsynchLockServerSocketService = InAsynchLockServerSocketService;
     this.MyLoginUser        = MeLoginUser;
     this.MyReadWriteChannel = MeLoginUser.MyReadWriteSocketChannel;
     this.MyReadBuffers      = MeLoginUser.MyReadWriteSocketChannel.MyReadBuffers;
     this.MyRecieveCount     = MeRecieveCount;
 }
Exemple #15
0
 public ElectKeyManager(AsynchLockServerSocketService InAsynchLockServerSocketService, LoginUser MeLoginUser, int MeRecieveCount, int CRUDflag)
 {
     this.MyAsynchLockServerSocketService = InAsynchLockServerSocketService;
     this.MyLoginUser        = MeLoginUser;
     this.MyReadWriteChannel = MeLoginUser.MyReadWriteSocketChannel;
     this.MyReadBuffers      = this.MyReadWriteChannel.MyReadBuffers;
     this.MyRecieveCount     = MeRecieveCount;
     this.nCRUDflag          = CRUDflag;//0:ADDKEY,1:DELETEKEY 3:TEMPKEY
 }
Exemple #16
0
        public void SnapImageSaveFile(LoginUser MeLoginUser, AsynchLockServerSocketService MeAsynchLockServerSocketService)
        {
            string            MyAutoFileNameStr   = MeLoginUser.TempString;// Guid.NewGuid().ToString().ToUpper();
            string            MyCompleteFileName  = "C:\\LockSnapImage\\" + MeLoginUser.LockID + "_" + MyAutoFileNameStr + ".jpg";
            RequestAttachment MyRequestAttachment = new RequestAttachment(MeLoginUser, MeAsynchLockServerSocketService, MyCompleteFileName, 0);
            AsyncCallback     MyAsyncCallback     = new AsyncCallback(this.SnapImageSaveResult);

            MyRequestAttachment.MyFileStream.BeginWrite(MeLoginUser.MyByteBuffer, 0, (int)MeLoginUser.WorkStatus, MyAsyncCallback, MyRequestAttachment);
            MyRequestAttachment.MyFileStream.Flush();
        }
Exemple #17
0
 public MobileBindLockParser(AsynchLockServerSocketService InAsynchLockServerSocketService, LoginUser MeLoginUser, int MeRecieveCount)
 {
     //最新版本
     this.MyAsynchLockServerSocketService = InAsynchLockServerSocketService;
     this.MyLoginUser        = MeLoginUser;
     this.MyReadWriteChannel = MeLoginUser.MyReadWriteSocketChannel;
     this.MyReadBuffers      = this.MyReadWriteChannel.MyReadBuffers;
     this.MyRecieveCount     = MeRecieveCount;
     //this.ReplyChannelLoginID = MeLoginUser.LoginID;
 }
Exemple #18
0
        public RequestAttachment(LoginUser MeLoginUser, AsynchLockServerSocketService MeAsynchLockServerSocketService, int FlagID)
        {
            this.MyLoginUser = MeLoginUser;
            //this.MyReadWriteChannel = MeLoginUser.MyReadWriteSocketChannel;
            //this.MyReadBuffer = MeLoginUser.MyByteBuffer;
            this.MyAsynchLockServerSocketService = MeAsynchLockServerSocketService;
            ConnectionStringSettings CloudLockConnectString = ConfigurationManager.ConnectionStrings["CloudLockConnectString"];

            MySqlConnection = new SqlConnection(CloudLockConnectString.ConnectionString);
            MySqlConnection.Open();
            MySqlCommand = MySqlConnection.CreateCommand();
        }
        public CloudLockServiceUIForm() : base()
        {
            MyAsynchLockServerSocketService = new LGJAsynchSocketService.AsynchLockServerSocketService();

            MyAsynchSocketServiceBaseFrame = MyAsynchLockServerSocketService;
            MyManagerSocketLoginUser       = MyAsynchLockServerSocketService.MyManagerLoginLockUser;

            MyAsynchLockServerSocketService.MyRefreshNotifyCallBack = new AsynchLockServerSocketService.AsynchRefreshNotifyHandler(this.InvokeAllProcess);
            MyAsynchLockServerSocketService.MyManagerLoginLockUser.MyRefreshNotifyCallBack = new ManagerLoginLockUser.AsynchRefreshNotifyHandler(this.InvokeAllProcess);

            nSocketServiceTypeID = SocketServiceTypeID.lockServer;
            //InitAsynchSocketSet();
        }
Exemple #20
0
 public RequestAttachment(LoginUser MeLoginUser, AsynchLockServerSocketService MeAsynchLockServerSocketService, string FileName, int FlagID)
 {
     this.MyLoginUser = MeLoginUser;
     this.MyAsynchLockServerSocketService = MeAsynchLockServerSocketService;
     if (FlagID == 0)
     {
         MyFileStream = new FileStream(FileName, FileMode.Create, FileAccess.Write, FileShare.None, MyBufferSize, true);
     }
     else
     {
         MyFileStream = new FileStream(FileName, FileMode.Open, FileAccess.Read, FileShare.None, MyBufferSize, true);
     }
 }
        private void FunDispatcher(TMessageEntity MyMessageEntity)
        {
            if (MyMessageEntity.Title == "create")
            {
                //MyAsynchSocketServiceBaseFrame.MyManagerSocketLoginUser.CRUDLoginUserList(MyMessageEntity.ReadWriteSocketChannel, 0);
            }

            if (MyMessageEntity.Title == "delete")
            {
                AsynchLockServerSocketService MyAsynchLockServerSocketService = (AsynchLockServerSocketService)MyAsynchSocketServiceBaseFrame;
                MyAsynchLockServerSocketService.MyManagerLoginLockUser.CRUDLoginUserListForDelete(ref MyMessageEntity.ReadWriteSocketChannel.MyTCPClient);
            }
            if (MyMessageEntity.Title == "select")
            {
                AsynchLockServerSocketService MyAsynchLockServerSocketService = (AsynchLockServerSocketService)MyAsynchSocketServiceBaseFrame;

                PreprocessMessage(MyMessageEntity, MyAsynchLockServerSocketService);
            }


            if (MyMessageEntity.Title == "login")
            {
                AsynchLockServerSocketService MyAsynchLockServerSocketService = (AsynchLockServerSocketService)MyAsynchSocketServiceBaseFrame;
                if (MyMessageEntity.ResultFlag == 0)
                {
                    string LockID   = MyMessageEntity.AttachmentInfor.Substring(0, 15);
                    string MobileID = MyMessageEntity.AttachmentInfor.Substring(MyMessageEntity.AttachmentInfor.IndexOf(",") + 1);

                    //----回显信息----------------------------------------------------------------------------------------
                    string MyTimeMarkerStr = string.Format("{0:yyyy-MM-dd HH:mm:ss}", DateTime.Now) + ":" + string.Format("{0:D3}", DateTime.Now.Millisecond);
                    MyAsynchLockServerSocketService.DisplayResultInfor(1, string.Format(MyTimeMarkerStr + "[{0}]注册智能锁:{1}", MyMessageEntity.ReadWriteSocketChannel.MyTCPClient.Client.RemoteEndPoint, LockID));
                    //--注册通道--------------------------------------------------------------------------------------------
                    MyAsynchLockServerSocketService.MyManagerLoginLockUser.CRUDLoginUserListForLoginEx(ref MyMessageEntity.ReadWriteSocketChannel.MyTCPClient, LockID, MobileID); //更新路由注册表
                    //发智能锁上线消息到移动端
                    OnLineResponseToMobile(MyAsynchLockServerSocketService, LockID, MobileID);
                    string MyRecieveDateTimeString = Encoding.ASCII.GetString(MyMessageEntity.ReadWriteSocketChannel.MyReadBuffers, 39, 15);
                    //时间比较
                    Byte TimeCompareID = TimeCompare(MyRecieveDateTimeString);
                    //发送成功响应消息到云锁
                    ReplyLoginMessageToLock(0, TimeCompareID, MyAsynchLockServerSocketService, MyMessageEntity.ReadWriteSocketChannel);
                }

                else
                {
                    //--发送失败响应消息到云锁,并且取消通道-------------------------------------------------------------------------------
                    ReplyLoginMessageToLock(0xFF, 1, MyAsynchLockServerSocketService, MyMessageEntity.ReadWriteSocketChannel);
                    System.Threading.Thread.Sleep(200);//稍微等待
                    MyAsynchLockServerSocketService.MyManagerLoginLockUser.RemoveNotLoginUser(ref MyMessageEntity.ReadWriteSocketChannel.MyTCPClient);
                }
            }
        }
        public void AsyncStartSendEMail(LoginUser MeLoginUser, AsynchLockServerSocketService MeAsynchLockServerSocketService)
        {
            string             MyAutoFileNameStr    = MeLoginUser.TempString;// Guid.NewGuid().ToString().ToUpper();
            string             MyCompleteFileName   = "C:\\LockSnapImage\\" + MeLoginUser.LockID + "_" + MyAutoFileNameStr + ".jpg";
            long               SnapID               = MeLoginUser.SnapID;
            string             EMailToStr           = "*****@*****.**"; //--"*****@*****.**";//专发笔记提醒
            SendMailProc       MySendMailProc       = new SendMailProc(EMailToStr, SnapID.ToString(), MeLoginUser.LockID);
            LiAsyncSendMail    MyLiAsyncSendMail    = new LiAsyncSendMail(MySendMailProc);
            RequestAttatchment MyRequestAttatchment = new RequestAttatchment(MeLoginUser, MeAsynchLockServerSocketService, MyLiAsyncSendMail);

            AsyncCallback MyAsyncCallback = new AsyncCallback(this.SendEMailResult);

            MyLiAsyncSendMail.BeginSendEMailNotify(MyAsyncCallback, MyRequestAttatchment);
        }
Exemple #23
0
        public RequestAttachment(LoginUser MeLoginUser, AsynchLockServerSocketService MeAsynchLockServerSocketService, string StoredProceName)
        {
            this.MyLoginUser        = MeLoginUser;
            this.MyReadWriteChannel = MeLoginUser.MyReadWriteSocketChannel;
            this.MyReadBuffer       = MeLoginUser.MyByteBuffer;
            this.MyAsynchLockServerSocketService = MeAsynchLockServerSocketService;
            ConnectionStringSettings CloudLockConnectString = ConfigurationManager.ConnectionStrings["CloudLockConnectString"];

            MySqlConnection = new SqlConnection(CloudLockConnectString.ConnectionString);
            MySqlConnection.Open();
            //MySqlCommand = MySqlConnection.CreateCommand();
            MySqlCommand             = new SqlCommand(StoredProceName, MySqlConnection);
            MySqlCommand.CommandType = CommandType.StoredProcedure;
        }
Exemple #24
0
        //public string MyRequestKey;
        //public string LockID;


        public RequestAttachment(string InLockID, SocketServiceReadWriteChannel MeReadWriteChannel, AsynchLockServerSocketService MeAsynchLockServerSocketService)
        {
            this.MyReadWriteChannel = MeReadWriteChannel;
            this.MyAsynchLockServerSocketService = MeAsynchLockServerSocketService;
            //this.LockID=InLockID;
            //this.MyRequestKey=InRequestKey;
            ConnectionStringSettings CloudLockConnectString = ConfigurationManager.ConnectionStrings["CloudLockConnectString"];

            MySqlConnection = new SqlConnection(CloudLockConnectString.ConnectionString);
            MySqlConnection.Open();
            //MySqlCommand = MySqlConnection.CreateCommand();
            MySqlCommand             = new SqlCommand("AuthLockID", MySqlConnection);
            MySqlCommand.CommandType = CommandType.StoredProcedure;
            //MySqlCommand.Parameters.Add(new SqlParameter("@LockID", MyChannel.LockID));
        }
        private void OnLineResponseToMobile(AsynchLockServerSocketService MyAsynchLockServerSocketService, string LockID, string MobileID)
        {
            string CommandMessageStr = "locklogin";


            CommandMessageStr = CommandMessageStr + "#" + MobileID + "-" + LockID + "#[" + "openlock" + "," + GetDateTimeWeekIndex() + "]!";
            byte[] MySendBaseMessageBytes = Encoding.UTF8.GetBytes(CommandMessageStr);

            int nBuffersLenght = CommandMessageStr.Length;

            byte[] MySendMessageBytes = new byte[nBuffersLenght + 3];


            MySendMessageBytes[2] = 250;

            //填充
            for (int i = 0; i < nBuffersLenght; i++)
            {
                MySendMessageBytes[3 + i] = MySendBaseMessageBytes[i];
            }



            //--找移动端通道,如果是原型-2和正式版本需固定两个移动端请求消息通道和响应通道[0通道和1号通道]--------------------------------------------------------------------------------
            try
            {
                //LockServerLib.FindMobileChannel MyBindedMobileChannel = new LockServerLib.FindMobileChannel(MyFindMobileIDStr);
                //this.NewReadWriteChannel = MyAsynchSocketServiceBaseFrame.MyManagerSocketLoginUser.MyLoginUserList.Find(new Predicate<LoginUser>(MyBindedMobileChannel.BindedMobileChannel)).MyReadWriteSocketChannel;


                //this.NewReadWriteChannel = MyAsynchSocketServiceBaseFrame.MyManagerSocketLoginUser.MyLoginUserList[0].MyReadWriteSocketChannel;
                if (MyAsynchLockServerSocketService.MyManagerLoginLockUser.MyLoginUserList[0].LockID == "***************")
                {
                    SocketServiceReadWriteChannel NewReadWriteChannel = MyAsynchLockServerSocketService.MyManagerLoginLockUser.MyLoginUserList[0].MyReadWriteSocketChannel;
                    MyAsynchLockServerSocketService.StartAsynchSendMessage(NewReadWriteChannel, MySendMessageBytes);
                }
                else
                {
                    MyAsynchLockServerSocketService.DisplayResultInfor(1, "移动服务器端响应通道标志错误[1]");
                }
            }
            catch
            {
                //无通道记录;;
                MyAsynchLockServerSocketService.DisplayResultInfor(1, "转发移动服务器端响应通道错误[2]");
            }
        }
        private void PreprocessMessage(TMessageEntity MyMessageEntity, AsynchLockServerSocketService MyAsynchLockServerSocketService)
        {
            SocketServiceReadWriteChannel MyReadWriteChannel = MyMessageEntity.ReadWriteSocketChannel;
            byte MessageTypeFirstFlag = MyMessageEntity.MyByteBuffer[2];

            byte[] MyReadBuffers  = MyMessageEntity.MyByteBuffer;
            int    MyRecieveCount = MyMessageEntity.MyRecieveCount;

            if (MessageTypeFirstFlag < 250)
            {
                //锁端
                string HexSendMessageIDString;
                if (MyAsynchLockServerSocketService.DataFormateFlag)
                {
                    HexSendMessageIDString = string.Format("{0:X2}", MyReadBuffers[9]) + string.Format("{0:X2}", MyReadBuffers[8]);
                }
                else
                {
                    HexSendMessageIDString = string.Format("{0:X2}", MyReadBuffers[8]) + string.Format("{0:X2}", MyReadBuffers[9]);
                }
                //-----------------------------------------------------------------

                if (MyAsynchLockServerSocketService.MyManagerLoginLockUser.AuthChannel(ref MyReadWriteChannel) == 1)
                {
                    //无认证
                    if (HexSendMessageIDString == "1001")
                    {
                        MyAsynchLockServerSocketService.CommandDefineDispatch(MyReadWriteChannel, MyReadBuffers, (int)MessageTypeFirstFlag, MyRecieveCount);//只有【Login-命令】能传输再处理
                    }
                }
                else
                {
                    //已认证
                    MyAsynchLockServerSocketService.CommandDefineDispatch(MyReadWriteChannel, MyReadBuffers, (int)MessageTypeFirstFlag, MyRecieveCount);//所有命令能传输再处理
                }
            }
            else
            {
                //移动端-------------------------
                MyAsynchLockServerSocketService.CommandDefineDispatch(MyReadWriteChannel, MyReadBuffers, (int)MessageTypeFirstFlag, MyRecieveCount);//所有命令能传输再处理
            }
        }
        public void AsynchSaveSnapPara(LoginUser MeLoginUser, AsynchLockServerSocketService MeAsynchLockServerSocketService)
        {
            string            SnapUUID            = MeLoginUser.TempString;
            RequestAttachment MyRequestAttachment = new RequestAttachment(MeLoginUser, MeAsynchLockServerSocketService, "AddSnapImage");

            MyRequestAttachment.MySqlCommand.Parameters.Add(new SqlParameter("@LockID", MeLoginUser.LockID));
            MyRequestAttachment.MySqlCommand.Parameters.Add(new SqlParameter("@SnapTypeID", MeLoginUser.SnapTypeID));
            MyRequestAttachment.MySqlCommand.Parameters.Add(new SqlParameter("@SnapUUID", SnapUUID));

            MyRequestAttachment.MySqlCommand.Parameters.Add(new SqlParameter("@ReturnValue", SqlDbType.Int));
            MyRequestAttachment.MySqlCommand.Parameters["@ReturnValue"].Direction = ParameterDirection.Output;
            MyRequestAttachment.MySqlCommand.Parameters.Add(new SqlParameter("@ReturnSnapID", SqlDbType.BigInt));
            MyRequestAttachment.MySqlCommand.Parameters["@ReturnSnapID"].Direction = ParameterDirection.Output;

            AsyncCallback MySaveSnapParaResult = new AsyncCallback(SaveSnapParaResult);

            MyRequestAttachment.MySqlCommand.BeginExecuteNonQuery(MySaveSnapParaResult, MyRequestAttachment); //存储过程!

            // MyRequestAttachment.MySqlCommand.EndExecuteNonQuery();
        }
        public void AsynchLoginAuthEx(LoginUser MeLoginUser, AsynchLockServerSocketService MeAsynchLockServerSocketService)
        {
            //增强版本
            string            LockID = Encoding.ASCII.GetString(MeLoginUser.MyByteBuffer, 22, 15);
            RequestAttachment MyRequestAttachment = new RequestAttachment(MeLoginUser, MeAsynchLockServerSocketService, "AuthLockID");

            // string MyCommandText = "select MobileID from Channel where LockID='" + LockID + "'";
            // MyRequestAttachment.MySqlCommand.CommandText = MyCommandText;

            MyRequestAttachment.MySqlCommand.Parameters.Add(new SqlParameter("@LockID", LockID));
            MyRequestAttachment.MySqlCommand.Parameters.Add(new SqlParameter("@ReturnValue", SqlDbType.Int));
            MyRequestAttachment.MySqlCommand.Parameters["@ReturnValue"].Direction = ParameterDirection.Output;
            MyRequestAttachment.MySqlCommand.Parameters.Add(new SqlParameter("@ReturnMobileID", SqlDbType.NChar, 15));
            MyRequestAttachment.MySqlCommand.Parameters["@ReturnMobileID"].Direction = ParameterDirection.Output;

            //MyRequestAttachment.MySqlCommand.BeginExecuteReader(new AsyncCallback(ProcessResult), MyRequestAttachment);//查询语句

            AsyncCallback MyLoginAuthResult = new AsyncCallback(LoginAuthResult);

            MyRequestAttachment.MySqlCommand.BeginExecuteNonQuery(MyLoginAuthResult, MyRequestAttachment); //存储过程!
        }
        private void AsynchSaveSnapImage(LoginUser MeLoginUser, AsynchLockServerSocketService MeAsynchLockServerSocketService)
        {
            string LockID = MeLoginUser.LockID;
            long   SnapID = MeLoginUser.SnapID;

            byte[] SnapImageByte;

            if (MeLoginUser.FileReadMode == 2)//B模式下:多一步
            {
                SnapImageByte = new byte[MeLoginUser.WorkStatus];
                for (uint i = 0; i < MeLoginUser.WorkStatus; i++)
                {
                    SnapImageByte[i] = MeLoginUser.MyByteBuffer[i];//B模式下:this.MyLoginUser.WorkStatus不一定等于this.MyLoginUser.MyByteBuffer的Lenght
                }
            }
            else
            {
                SnapImageByte = MeLoginUser.MyByteBuffer;//A模式下:相等
            }


            RequestAttachment MyRequestAttachment = new RequestAttachment(MeLoginUser, MeAsynchLockServerSocketService, 0);//采用查询语句构造
            //-----1.视图版--------------
            string MyCommandText = "Update snap" + LockID + " Set Image = @Image " + "WHERE SnapID = @SnapID";

            //-----2.表格版---------------
            //string MyCommandText = "Update snap" + " Set Image = @Image " + "WHERE SnapID = @SnapID and LockID='"+ LockID+"'";

            MyRequestAttachment.MySqlCommand.CommandText = MyCommandText;

            MyRequestAttachment.MySqlCommand.Parameters.Add(new SqlParameter("@SnapID", SnapID));
            MyRequestAttachment.MySqlCommand.Parameters.Add(new SqlParameter("@Image", SnapImageByte));

            AsyncCallback MyAsyncSaveSnapImageResult = new AsyncCallback(SaveSnapImageResult);

            MyRequestAttachment.MySqlCommand.BeginExecuteNonQuery(MyAsyncSaveSnapImageResult, MyRequestAttachment);
        }
 public RequestAttatchment(LoginUser MeLoginUser, AsynchLockServerSocketService MeAsynchLockServerSocketService, LiAsyncSendMail MeAsyncLiSendMail)
 {
     this.MyLoginUser = MeLoginUser;
     this.MyAsynchLockServerSocketService = MeAsynchLockServerSocketService;
     MyAsyncLiSendMail = MeAsyncLiSendMail;
 }