void client_OnMsgReceived(byte[] info)
        {
            SocketMsgData.SocketRequest msg = SeatManage.SeatManageComm.ByteSerializer.DeserializeByte <SocketMsgData.SocketMsgBase>(info) as SocketMsgData.SocketRequest;
            if (msg != null)
            {
                Console.WriteLine("子系统{0}请求执行{1}方法", msg.SubSystem.ToString(), msg.MethodName);
                SocketMsgData.SocketResponse response = new SocketMsgData.SocketResponse();
                switch (msg.MethodName)
                {
                case "CheckAndGetReaderInfo":
                    try
                    {
                        SeatManage.ClassModel.UserInfo   user   = msg.Parameters[0] as SeatManage.ClassModel.UserInfo;
                        SeatManage.ClassModel.ReaderInfo reader = bespakBll.CheckAndGetReaderInfo(user);
                        response.Result = reader;
                    }
                    catch (Exception ex)
                    {
                        response.ErrorMsg = ex.Message;
                    }
                    break;

                case "DelaySeatUsedTime;":
                    try
                    {
                        SeatManage.ClassModel.ReaderInfo reader = msg.Parameters[0] as SeatManage.ClassModel.ReaderInfo;
                        string result = bespakBll.DelaySeatUsedTime(reader);
                        response.Result = result;
                    }
                    catch (Exception ex)
                    {
                        response.ErrorMsg = ex.Message;
                    }
                    break;

                case "FreeSeat":
                    try
                    {
                        string cardNo = msg.Parameters[0].ToString();
                        string result = bespakBll.FreeSeat(cardNo);
                        response.Result = result;
                    }
                    catch (Exception ex)
                    {
                        response.ErrorMsg = ex.Message;
                    }
                    break;

                case "GetAllReadingRoomInfo":
                    try
                    {
                        List <SeatManage.ClassModel.ReadingRoomInfo> rooms = bespakBll.GetAllReadingRoomInfo();
                        response.Result = rooms;
                    }
                    catch (Exception ex)
                    {
                        response.ErrorMsg = ex.Message;
                    }
                    break;

                case "GetAllRoomSeatUsedState":
                    try
                    {
                        Dictionary <string, SeatManage.ClassModel.ReadingRoomSeatUsedState_Ex> roomState = bespakBll.GetAllRoomSeatUsedState();
                        response.Result = roomState;
                    }
                    catch (Exception ex)
                    {
                        response.ErrorMsg = ex.Message;
                    }
                    break;

                case "GetBlackList":
                    try
                    {
                        string cardNo    = msg.Parameters[0].ToString();
                        int    queryDays = int.Parse(msg.Parameters[1].ToString());
                        List <SeatManage.ClassModel.BlackListInfo> result = bespakBll.GetBlackList(cardNo, queryDays);
                        response.Result = result;
                    }
                    catch (Exception ex)
                    {
                        response.ErrorMsg = ex.Message;
                    }
                    break;

                case "GetBookLogs":
                    try
                    {
                        string cardNo    = msg.Parameters[0].ToString();
                        string roomNum   = msg.Parameters[1] == null ? null : msg.Parameters[1].ToString();
                        int    queryDays = int.Parse(msg.Parameters[2].ToString());
                        List <SeatManage.ClassModel.BespeakLogInfo> result = bespakBll.GetBookLogs(cardNo, roomNum, queryDays);
                        response.Result = result;
                    }
                    catch (Exception ex)
                    {
                        response.ErrorMsg = ex.Message;
                    }
                    break;

                case "GetBookSeatList":
                    try
                    {
                        DateTime dt      = (DateTime)msg.Parameters[0];
                        string   roomNum = msg.Parameters[1] == null ? null : msg.Parameters[1].ToString();
                        List <SeatManage.ClassModel.Seat> result = bespakBll.GetBookSeatList(dt, roomNum);
                        response.Result = result;
                    }
                    catch (Exception ex)
                    {
                        response.ErrorMsg = ex.Message;
                    }
                    break;

                case "GetCanBespeakReaderRoomInfo":
                    try
                    {
                        DateTime dt = (DateTime)msg.Parameters[0];
                        response.Result = bespakBll.GetCanBespeakReaderRoomInfo(dt);
                    }
                    catch (Exception ex)
                    {
                        response.ErrorMsg = ex.Message;
                    }
                    break;

                case "GetEnterOutLogs":
                    try
                    {
                        string cardNo    = msg.Parameters[0].ToString();
                        string roomNum   = msg.Parameters[1] == null ? null : msg.Parameters[1].ToString();
                        int    queryDate = (int)msg.Parameters[2];
                        response.Result = bespakBll.GetEnterOutLogs(cardNo, roomNum, queryDate);
                    }
                    catch (Exception ex)
                    {
                        response.ErrorMsg = ex.Message;
                    }
                    break;

                case "GetReaderInfo":
                    try
                    {
                        string cardNo = msg.Parameters[0].ToString();
                        response.Result = bespakBll.GetReaderInfo(cardNo);
                    }
                    catch (Exception ex)
                    {
                        response.ErrorMsg = ex.Message;
                    }
                    break;

                case "GetReaderInfoByCardNo":
                    try
                    {
                        string cardNo = msg.Parameters[0].ToString();
                        response.Result = bespakBll.GetReaderInfoByCardNo(cardNo);
                    }
                    catch (Exception ex)
                    {
                        response.ErrorMsg = ex.Message;
                    }
                    break;

                case "GetReaderInfoByCardNofalse":
                    try
                    {
                        string cardNo = msg.Parameters[0].ToString();
                        response.Result = bespakBll.GetReaderInfoByCardNofalse(cardNo);
                    }
                    catch (Exception ex)
                    {
                        response.ErrorMsg = ex.Message;
                    }
                    break;

                case "GetViolateDiscipline":
                    try
                    {
                        string cardNo    = msg.Parameters[0].ToString();
                        string roomNum   = msg.Parameters[1] == null ? null : msg.Parameters[1].ToString();
                        int    queryDate = (int)msg.Parameters[2];
                        response.Result = bespakBll.GetViolateDiscipline(cardNo, roomNum, queryDate);
                    }
                    catch (Exception ex)
                    {
                        response.ErrorMsg = ex.Message;
                    }
                    break;

                case "SetShortLeave":
                    try
                    {
                        string cardNo = msg.Parameters[0].ToString();
                        response.Result = bespakBll.SetShortLeave(cardNo);
                    }
                    catch (Exception ex)
                    {
                        response.ErrorMsg = ex.Message;
                    }
                    break;

                case "SubmitBespeakInfo":
                    try
                    {
                        SeatManage.ClassModel.BespeakLogInfo bespeak = (SeatManage.ClassModel.BespeakLogInfo)msg.Parameters[0];
                        response.Result = bespakBll.SubmitBespeakInfo(bespeak);
                    }
                    catch (Exception ex)
                    {
                        response.ErrorMsg = ex.Message;
                    }
                    break;

                case "UpdateBookLogsState":
                    try
                    {
                        int bespeak = (int)msg.Parameters[0];
                        response.Result = bespakBll.UpdateBookLogsState(bespeak);
                    }
                    catch (Exception ex)
                    {
                        response.ErrorMsg = ex.Message;
                    }
                    break;

                case "GetScanCodeSeatInfo":
                    try
                    {
                        string cardNo         = msg.Parameters[0].ToString();
                        string seatNum        = msg.Parameters[1].ToString();
                        string readingRoomNum = msg.Parameters[2].ToString();
                        response.Result = bespakBll.GetScanCodeSeatInfo(cardNo, seatNum, readingRoomNum);
                    }
                    catch (Exception ex)
                    {
                        response.ErrorMsg = ex.Message;
                    }
                    break;

                case "ChangeSeat":
                    try
                    {
                        string cardNo         = msg.Parameters[0].ToString();
                        string seatNum        = msg.Parameters[1].ToString();
                        string readingRoomNum = msg.Parameters[2].ToString();
                        response.Result = bespakBll.ChangeSeat(cardNo, seatNum, readingRoomNum);
                    }
                    catch (Exception ex)
                    {
                        response.ErrorMsg = ex.Message;
                    }
                    break;
                }
                response.MethodName = msg.MethodName;
                response.Sender     = msg.Target;
                response.SubSystem  = msg.SubSystem;
                response.Target     = msg.Sender;
                response.MsgType    = SocketMsgData.TcpMsgDataType.Relay;
                client.Send(SeatManage.SeatManageComm.ByteSerializer.ObjectToByte(response));
                Console.WriteLine("执行成功,已返回结果");
            }
        }