Пример #1
0
        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
            });
        }
Пример #2
0
        /// <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);
        }