示例#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);
        }
示例#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);
        }
示例#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);
        }
示例#4
0
        /// <summary>
        /// 取消订单
        /// </summary>
        /// <param name="condition"></param>
        /// <returns></returns>
        public bool OrderCancel(OrderCancelCondition condition)
        {
            bool response = false;

            try
            {
                var result = HotelApiAccess.Query <OrderCancelCondition, OrderCancelResponse>(condition, "hotel.order.cancel");

                if (result.Code == "0")
                {
                    response = result.Result.Successs;
                }
                else
                {
                    throw new Exception("接口请求失败:" + result.Code);
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
            return(response);
        }
示例#5
0
        public HotelListResponseEntity Query(HotelDetailRequestEntity request)
        {
            var result = HotelApiAccess.Query <HotelDetailRequestEntity, HotelListResponseEntity>(request, "hotel.detail").Result;

            //#region 担保过滤
            //if (result.Hotels == null || (!result.Hotels.Any()))
            //{
            //    return result;
            //}
            //if (result.Hotels[0].Rooms == null || (!result.Hotels[0].Rooms.Any()))
            //{
            //    return result;
            //}
            //foreach (var room in result.Hotels[0].Rooms)
            //{
            //    if (room.RatePlans != null && room.RatePlans.Any())
            //    {
            //        room.RatePlans = room.RatePlans.Where(a => string.IsNullOrWhiteSpace(a.GuaranteeRuleIds)).ToArray();
            //    }
            //}
            //#endregion
            return(result);
        }
示例#6
0
 public string QueryStr(RoomDesInfoReqEntity req)
 {
     return(HotelApiAccess.Query(req, "RoomDesInfo"));
 }
示例#7
0
 public RoomDesInfoResEntity Query(RoomDesInfoReqEntity req)
 {
     return(JsonHelper.DeserializeJsonToObject <RoomDesInfoResEntity>(HotelApiAccess.Query(req, "RoomDesInfo")));
 }
示例#8
0
 public string QueryStr(ChangeInfoReqEntity req)
 {
     return(HotelApiAccess.Query(req, "ChangeInfo"));
 }
示例#9
0
 public ChangeInfoResEntity Query(ChangeInfoReqEntity req)
 {
     return(JsonHelper.DeserializeJsonToObject <ChangeInfoResEntity>(HotelApiAccess.Query <ChangeInfoReqEntity>(req, "ChangeInfo")));
 }
示例#10
0
 public string QueryStr(HotelListRequestEntity request)
 {
     return(HotelApiAccess.Query(request, "hotel.list"));
 }
示例#11
0
 public HotelListResponseEntity Query(HotelListRequestEntity request)
 {
     return(HotelApiAccess.Query <HotelListRequestEntity, HotelListResponseEntity>(request, "hotel.list").Result);
 }
示例#12
0
 public string QueryStr(HotelDetailRequestEntity request)
 {
     return(HotelApiAccess.Query(request, "hotel.detail"));
 }
示例#13
0
 public string QueryStr(HotelIdListRequestEntity req)
 {
     return(HotelApiAccess.Query(req, "HotelIdList"));
 }
示例#14
0
 public HotelIdListResponseEntity Query(HotelIdListRequestEntity req)
 {
     return(JsonHelper.DeserializeJsonToObject <HotelIdListResponseEntity>(HotelApiAccess.Query <HotelIdListRequestEntity>(req, "HotelIdList")));
 }