// -1出错,0不在线,1正常 public int SCStatus(out ACSStatus_98 response98, out string responseText, out string error) { responseText = ""; response98 = null; error = ""; int nRet = 0; //text = "9900302.00"; SCStatus_99 request = new SCStatus_99() { StatusCode_1 = "0", MaxPrintWidth_3 = "030", ProtocolVersion_4 = "2.00", }; // 发送和接收消息 string requestText = request.ToText(); BaseMessage response = null; nRet = SCHelper.Instance.SendAndRecvMessage(requestText, out response, out responseText, out error); if (nRet == -1) { return(-1); } response98 = response as ACSStatus_98; if (response98 == null) { error = "返回的不是98消息"; return(-1); } if (response98.OnlineStatus_1 != "Y") { error = "ACS当前不在线。"; return(0); } return(1); }
//统一用一个专门的LogManager //// public static ILog Logger = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); //public static ILog Logger = log4net.LogManager.GetLogger("dp2SIPLogging"); //public static void WriteLog(string message) //{ // Logger.Info(message); //} /// <summary> /// 将消息字符串 解析 成对应的消息对象 /// </summary> /// <param name="cmdText">消息字符串</param> /// <param name="message">解析后的消息对象</param> /// <param name="error">氏族</param> /// <returns> /// true 成功 /// false 出错 /// </returns> public static int ParseMessage(string cmdText, out BaseMessage message, out string error) { message = new BaseMessage(); error = ""; if (cmdText.Length < 2) { error = "命令长度不够2位"; return(-1); } string cmdIdentifiers = cmdText.Substring(0, 2); //text = text.Substring(2); switch (cmdIdentifiers) { case "93": { message = new Login_93(); break; } case "94": { message = new LoginResponse_94(); break; } case "99": { message = new SCStatus_99(); break; } case "98": { message = new ACSStatus_98(); break; } case "11": { message = new Checkout_11(); break; } case "12": { message = new CheckoutResponse_12(); break; } case "09": { message = new Checkin_09(); break; } case "10": { message = new CheckinResponse_10(); break; } case "63": { message = new PatronInformation_63(); break; } case "64": { message = new PatronInformationResponse_64(); break; } case "35": { message = new EndPatronSession_35(); break; } case "36": { message = new EndSessionResponse_36(); break; } case "17": { message = new ItemInformation_17(); break; } case "18": { message = new ItemInformationResponse_18(); break; } case "29": { message = new Renew_29(); break; } case "30": { message = new RenewResponse_30(); break; } case "37": { message = new FeePaid_37(); break; } case "38": { message = new FeePaidResponse_38(); break; } default: error = "不支持的命令'" + cmdIdentifiers + "'"; return(-1); } return(message.parse(cmdText, out error)); }
//统一用一个专门的LogManager //// public static ILog Logger = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); //public static ILog Logger = log4net.LogManager.GetLogger("dp2SIPLogging"); //public static void WriteLog(string message) //{ // Logger.Info(message); //} /// <summary> /// 将消息字符串 解析 成对应的消息对象 /// </summary> /// <param name="cmdText">消息字符串</param> /// <param name="message">解析后的消息对象</param> /// <param name="error">氏族</param> /// <returns> /// true 成功 /// false 出错 /// </returns> public static int ParseMessage(string cmdText, out BaseMessage message, out string error) { message = new BaseMessage(); error = ""; if (cmdText.Length < 2) { error = "命令长度不够2位"; return(-1); } string cmdIdentifiers = cmdText.Substring(0, 2); //text = text.Substring(2); switch (cmdIdentifiers) { case "93": { message = new Login_93(); break; } case "94": { message = new LoginResponse_94(); break; } case "99": { message = new SCStatus_99(); break; } case "98": { message = new ACSStatus_98(); break; } case "11": { message = new Checkout_11(); break; } case "12": { message = new CheckoutResponse_12(); break; } case "09": { message = new Checkin_09(); break; } case "10": { message = new CheckinResponse_10(); break; } case "63": { message = new PatronInformation_63(); break; } case "64": { message = new PatronInformationResponse_64(); break; } case "35": { message = new EndPatronSession_35(); break; } case "36": { message = new EndSessionResponse_36(); break; } case "17": { message = new ItemInformation_17(); break; } case "18": { message = new ItemInformationResponse_18(); break; } case "29": { message = new Renew_29(); break; } case "30": { message = new RenewResponse_30(); break; } case "65": { message = new RenewAll_65(); break; } case "66": { message = new RenewAllResponse_66(); break; } case "37": { message = new FeePaid_37(); break; } case "38": { message = new FeePaidResponse_38(); break; } case "97": { message = new RequestACSResend_97(); break; } case "96": { message = new RequestSCResend_96(); break; } case "23": { message = new PatronStatusRequest_23(); break; } case "24": { message = new PatronStatusResponse_24(); break; } case "25": { message = new PatronEnable_25(); break; } case "26": { message = new PatronEnableResponse_26(); break; } case "01": { message = new BlockPatron_01(); break; } case "15": { message = new Hold_15(); break; } case "16": { message = new HoldResponse_16(); break; } case "19": { message = new ItemStatusUpdate_19(); break; } case "20": { message = new ItemStatusUpdateResponse_20(); break; } default: error = "不支持的命令'" + cmdIdentifiers + "'"; return(-1); } return(message.parse(cmdText, out error)); }