Exemplo n.º 1
0
        /// <summary>
        /// 订单实时状态查询
        /// </summary>
        /// <param name="condition"></param>
        /// <returns></returns>
        public HotelOrderStatus GetOrderStatus(OrderDetailCondition condition)
        {
            HotelOrderStatus response = HotelOrderStatus.B3;

            try
            {
                if (!IsInstantConfirmOrder(condition.OrderId))
                {
                    var result = HotelApiAccess.Query <OrderDetailCondition, OrderDetailResponse>(condition, "hotel.order.detail");

                    if (result.Code == "0")
                    {
                        response = (HotelOrderStatus)Enum.Parse(typeof(HotelOrderStatus), result.Result.Status);
                    }
                    else
                    {
                        throw new Exception("接口请求失败:" + result.Code);
                    }
                }
                else
                {
                    response = HotelOrderStatus.A;
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
            return(response);
        }
Exemplo n.º 2
0
        /// <summary>
        /// 是否为即时确认订单-即时确认订单是艺龙提高订单快速确认所提供的一项服务,当此订单为即时确认订单时,即是订单状态未变成“已确认“状态,也可以先给客人进行订单确认;
        /// </summary>
        /// <param name="orderId">三方订单Id</param>
        /// <returns></returns>
        public bool IsInstantConfirmOrder(long orderId)
        {
            InstantOrderResponse response = new InstantOrderResponse();

            try
            {
                OrderDetailCondition condition = new OrderDetailCondition()
                {
                    OrderId = orderId
                };
                var result = HotelApiAccess.Query <OrderDetailCondition, InstantOrderResponse>(condition, "hotel.order.instant");

                if (result.Code == "0")
                {
                    response = result.Result;
                }
                else
                {
                    throw new Exception("接口请求失败:" + result.Code);
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
            return(response.InstantStatus == EnumInstantStatus.Instant);
        }
Exemplo n.º 3
0
        /// <summary>
        /// 订单详情
        /// </summary>
        /// <param name="condition"></param>
        /// <returns></returns>
        public OrderDetailResponse GetOrderDetail(OrderDetailCondition condition)
        {
            OrderDetailResponse response = new OrderDetailResponse();

            try
            {
                var result = HotelApiAccess.Query <OrderDetailCondition, OrderDetailResponse>(condition, "hotel.order.detail");

                if (result.Code == "0")
                {
                    response = result.Result;
                }
                else
                {
                    throw new Exception("接口请求失败:" + result.Code);
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
            return(response);
        }