public ExecuteResult <ElectronicTicket> Detr(string eTicketNumber, string userName) { // 参数验证; if (string.IsNullOrEmpty(eTicketNumber)) { throw new ArgumentNullException("eTicketNumber"); } if (string.IsNullOrEmpty(userName)) { throw new ArgumentNullException("userName"); } // 构建命令并执行; var detrCommand = new DetrCommand(eTicketNumber, DetrQeeryType.TN, ""); var user = new User("10000", "123456"); var returnString = CommandExecutorService.Execute(detrCommand, user); var xdoc = XDocument.Parse(returnString, LoadOptions.None); var rawData = GetRawDate(xdoc, "DETR"); // 解析命令执行后的结果字串; var result = Domain.Utility.Parser.GetElectronicTicket(rawData); // 根据解析结果返回 return(new ExecuteResult <ElectronicTicket> { Result = result, Success = (result != null && result.TicketNumber != null), Message = rawData }); }
/// <summary> /// 根据查询类型和相应的查询字串,获取查询票号的指令字串。 /// </summary> /// <param name="queryStr">查询字串</param> /// <param name="queryType">查询类型</param> /// <param name="option">选项</param> /// <returns>指令字串</returns> /// <remarks> /// option参数如果采用S或F选项,则会得到行程单的信息; /// </remarks> public static string GetDetrInstrction(string queryStr, DetrQeeryType queryType, string option = "") { var detrCommand = new DetrCommand(queryStr, queryType, option); return(detrCommand.CommandString); }