Exemplo n.º 1
0
        /// <summary>
        /// 解析XML获取多酒店查询返回的分页信息
        /// </summary>
        /// <param name="HotelAvailRS">酒店查询返回节点</param>
        /// <param name="RespPageInfo">多酒店查询返回的分页信息实体</param>
        private void GetRespPageInfo(XElement HotelAvailRS, ref EyouSoft.Model.HotelStructure.RespPageInfo RespPageInfo)
        {
            if (RespPageInfo == null)
            {
                RespPageInfo = new EyouSoft.Model.HotelStructure.RespPageInfo();
            }

            if (HotelAvailRS == null)
            {
                return;
            }

            XElement RespPage = HotelBI.Utils.GetXElement(HotelAvailRS, "RespPageInfo");

            RespPageInfo.CurrentPage  = EyouSoft.Common.Utility.GetInt(HotelBI.Utils.GetXElement(RespPage, "CurrentPage").Value.Trim());
            RespPageInfo.TotalNum     = EyouSoft.Common.Utility.GetInt(HotelBI.Utils.GetXElement(RespPage, "TotalNum").Value.Trim());
            RespPageInfo.TotalPageNum = EyouSoft.Common.Utility.GetInt(HotelBI.Utils.GetXElement(RespPage, "TotalPageNum").Value.Trim());
        }
Exemplo n.º 2
0
        /// <summary>
        /// 列表数据初始化
        /// </summary>
        /// <param name="searchModel"></param>
        private void ListDataInit(EyouSoft.HotelBI.MultipleSeach searchModel)
        {
            EyouSoft.Model.HotelStructure.RespPageInfo pageInfoModel = null;
            EyouSoft.HotelBI.ErrorInfo errorModel = new EyouSoft.HotelBI.ErrorInfo();
            IList <EyouSoft.Model.HotelStructure.HotelInfo> list = EyouSoft.BLL.HotelStructure.Hotel.CreateInstance().GetHotelList(searchModel, ref pageInfoModel, out errorModel);

            //如果接口查询异常 则提示 查询超时
            if (errorModel == null || errorModel.ErrorType == EyouSoft.HotelBI.ErrorType.未知错误 || errorModel.ErrorType == EyouSoft.HotelBI.ErrorType.系统级错误)
            {
                //提示查询超时
                this.lblMsg.Text = "查询超时,请重新查询或稍后再试.";
                //不显示分页控件
                this.ExportPageInfo.Visible = false;
                return;
            }

            if (list != null)
            {
                if (list.Count > 0)
                {
                    this.rpt_list.DataSource = list;
                    this.rpt_list.DataBind();
                    if (pageInfoModel != null)
                    {
                        recordCount = pageInfoModel.TotalNum;
                    }
                    BindPage();
                }
                else
                {
                    //提示没有查询到酒店
                    this.lblMsg.Text            = "未找到相关酒店,建议您修改相关查询条件后再查询.";
                    this.ExportPageInfo.Visible = false;
                }
            }
            else
            {
                //提示没有查询到酒店
                this.lblMsg.Text            = "未找到相关酒店,建议您修改相关查询条件后再查询.";
                this.ExportPageInfo.Visible = false;
            }

            list = null;
        }
Exemplo n.º 3
0
        /// <summary>
        /// 将接口返回的XMl转换为平台酒店实体集合
        /// </summary>
        /// <param name="InterfaceReturnXML">接口返回的XMl</param>
        /// <param name="RespPageInfo">酒店查询返回的分页信息</param>
        /// <returns>平台酒店实体集合</returns>
        private IList <EyouSoft.Model.HotelStructure.HotelInfo> GetHotelListByXML(string InterfaceReturnXML
                                                                                  , ref EyouSoft.Model.HotelStructure.RespPageInfo RespPageInfo)
        {
            IList <EyouSoft.Model.HotelStructure.HotelInfo> list = null;

            if (string.IsNullOrEmpty(InterfaceReturnXML))
            {
                return(list);
            }

            list = new List <EyouSoft.Model.HotelStructure.HotelInfo>();
            XElement root         = XElement.Parse(InterfaceReturnXML);
            XElement HotelAvailRS = HotelBI.Utils.GetXElement(root, "HotelAvailRS");

            GetRespPageInfo(HotelAvailRS, ref RespPageInfo);

            XElement RoomStays = HotelBI.Utils.GetXElement(HotelAvailRS, "RoomStays");
            IEnumerable <XElement> HotelRoots = HotelBI.Utils.GetXElements(RoomStays, "RoomStay");

            if (HotelRoots == null || HotelRoots.Count() <= 0)
            {
                return(list);
            }

            EyouSoft.Model.HotelStructure.HotelInfo model = null;
            foreach (XElement tmpHotelRoot in HotelRoots)
            {
                model = new EyouSoft.Model.HotelStructure.HotelInfo();
                model.InterfaceResponseXML = InterfaceReturnXML;
                AnalysisXML(tmpHotelRoot, ref model);

                list.Add(model);
            }

            return(list);
        }
Exemplo n.º 4
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                if (!CheckMasterGrant(YuYingPermission.酒店后台管理_首页板块数据管理))
                {
                    Utils.ResponseNoPermit(YuYingPermission.酒店后台管理_首页板块数据管理, true);
                    return;
                }
                pageIndex = Utils.GetInt(Request.QueryString["page"], 1);
                int    recordCount = 0;
                int    dataType    = Utils.GetInt(Request.QueryString["datatype"], -1);  //数据类型
                string InTime      = Request.QueryString["CheckInDate"];                 //入住日期
                string OutTime     = Request.QueryString["CheckOutDate"];                //离店日趋
                string City        = Utils.GetQueryStringValue("City");                  //城市
                int    StarNum     = Utils.GetInt(Request.QueryString["StarNum"], 0);    //星级
                int    SelectType  = Utils.GetInt(Request.QueryString["SelectType"], 0); //选择类型
                string HotelName   = Utils.GetQueryStringValue("HotelName");
                //  HotelShowType = Utils.GetInt(Request.QueryString["HotelShowType"], 0);
                if (!StringValidate.IsDateTime(InTime))
                {
                    Utils.ResponseMeg(false, "入住日期格式错误!");
                    return;
                }
                if (!StringValidate.IsDateTime(OutTime))
                {
                    Utils.ResponseMeg(false, "离店日期格式错误!");
                    return;
                }
                if (Convert.ToDateTime(InTime) > Convert.ToDateTime(OutTime))
                {
                    Utils.ResponseMeg(false, "入住日期和离店日期范围填写错误!");
                    return;
                }
                decimal?MinPrice = null; //价格范围
                decimal?MaxPrice = null;
                string  price    = Utils.GetQueryStringValue("MinPrice");
                if (!string.IsNullOrEmpty(price))
                {
                    if (StringValidate.IsDecimal(price))
                    {
                        MinPrice = Convert.ToDecimal(price);
                    }
                    else
                    {
                        Utils.ResponseMeg(false, "价格下限输入错误!");
                        return;
                    }
                }
                price = Utils.GetQueryStringValue("MaxPrice");
                if (!string.IsNullOrEmpty(price))
                {
                    //price = price.ToString("F2");
                    if (StringValidate.IsDecimal(price))
                    {
                        MaxPrice = Convert.ToDecimal(price);
                    }
                    else
                    {
                        Utils.ResponseMeg(false, "价格上限输入错误!");
                        return;
                    }
                }
                //IList<EyouSoft.Model.HotelStructure.HotelInfo> list = EyouSoft.BLL.HotelStructure.HotelLocalInfo.CreateInstance().GetList(pageSize, pageIndex, ref recordCount, (EyouSoft.Model.HotelStructure.HotelShowType)Enum.Parse(typeof(EyouSoft.Model.HotelStructure.hotelshow), dataType));
                EyouSoft.HotelBI.MultipleSeach searchModel = new EyouSoft.HotelBI.MultipleSeach();
                searchModel.CheckInDate      = InTime;
                searchModel.CheckOutDate     = OutTime;
                searchModel.CityCode         = City;
                searchModel.HotelChineseName = HotelName;
                searchModel.HotelRank        = (EyouSoft.HotelBI.HotelRankEnum)StarNum;
                searchModel.IsPageView       = true;
                searchModel.NumOfEachPage    = 20;
                searchModel.PageNo           = pageIndex;
                if (SelectType == 1)
                {
                    //  searchModel.Payment = "T";  //前台现付
                }
                searchModel.PriceMaxRate = MaxPrice;
                searchModel.PriceMinRate = MinPrice;
                EyouSoft.Model.HotelStructure.RespPageInfo respPageInfo = null;

                EyouSoft.HotelBI.ErrorInfo errorModel = new EyouSoft.HotelBI.ErrorInfo();
                IList <EyouSoft.Model.HotelStructure.HotelInfo> HotelList = EyouSoft.BLL.HotelStructure.Hotel.CreateInstance().GetHotelList(searchModel, ref respPageInfo, out errorModel);
                //如果接口查询异常 则提示 查询超时
                if (errorModel == null || errorModel.ErrorType == EyouSoft.HotelBI.ErrorType.未知错误 || errorModel.ErrorType == EyouSoft.HotelBI.ErrorType.系统级错误)
                {
                    Response.Clear();
                    Response.Write("查询超时,请重新查询或稍后再试.");
                    Response.End();
                    return;
                }
                hidInterHotel.Value = JsonConvert.SerializeObject(HotelList);
                if (HotelList != null && HotelList.Count > 0)
                {
                    this.ExporPageInfoSelect1.intPageSize    = pageSize;
                    this.ExporPageInfoSelect1.intRecordCount = respPageInfo != null?respPageInfo.TotalNum:recordCount;
                    this.ExporPageInfoSelect1.CurrencyPage   = pageIndex;
                    this.ExporPageInfoSelect1.HrefType       = Adpost.Common.ExporPage.HrefTypeEnum.JsHref;
                    this.ExporPageInfoSelect1.AttributesEventAdd("onclick", "FirstPageDataAdd.LoadData(this,\"AjaxInterfaceData.aspx\");", 1);
                    this.ExporPageInfoSelect1.AttributesEventAdd("onchange", "FirstPageDataAdd.LoadData(this,\"AjaxInterfaceData.aspx\");", 0);
                    crptInterList.DataSource = HotelList;
                    crptInterList.DataBind();
                    HotelList = null;
                }
                else
                {
                    crptInterList.EmptyText      = "<tr><td colspan=\"4\"><div style=\"text-align:center;  margin-top:75px; margin-bottom:75px;\">暂无数据!</span></div></td></tr>";
                    ExporPageInfoSelect1.Visible = false;
                }
                searchModel = null;
            }
        }
Exemplo n.º 5
0
        /// <summary>
        /// 获取本地缓存酒店信息集合
        /// </summary>
        /// <param name="searchInfo">查询信息</param>
        /// <param name="pageInfo">分页信息</param>
        /// <param name="errInfo">错误信息</param>
        /// <returns></returns>
        private IList <EyouSoft.Model.HotelStructure.HotelInfo> GetLocalCacheHotels(HotelBI.MultipleSeach searchInfo, EyouSoft.Model.HotelStructure.RespPageInfo pageInfo, out HotelBI.ErrorInfo errInfo)
        {
            errInfo = new EyouSoft.HotelBI.ErrorInfo();
            IList <EyouSoft.Model.HotelStructure.HotelInfo> items = null;

            EyouSoft.Model.HotelStructure.MLocalHotelSearchInfo localSearchInfo = new EyouSoft.Model.HotelStructure.MLocalHotelSearchInfo();
            localSearchInfo.BedType      = searchInfo.BedType;
            localSearchInfo.CheckInDate  = EyouSoft.Common.Utility.GetDateTime(searchInfo.CheckInDate);
            localSearchInfo.CheckOutDate = EyouSoft.Common.Utility.GetDateTime(searchInfo.CheckOutDate);
            localSearchInfo.CityCode     = searchInfo.CityCode;
            localSearchInfo.Fitment      = searchInfo.Fitment;
            localSearchInfo.HotelName    = searchInfo.HotelChineseName;
            localSearchInfo.HotelNameEn  = searchInfo.HotelEnglishName;
            //localSearchInfo.SpecialRoomName = searchInfo.RoomView;
            localSearchInfo.SpecialRoomName = searchInfo.RoomName;
            localSearchInfo.LandMarkName    = searchInfo.LandMark;
            localSearchInfo.District        = searchInfo.District;
            localSearchInfo.OrderBy         = searchInfo.OrderBy;
            localSearchInfo.PriceMaxRate    = searchInfo.PriceMaxRate;
            localSearchInfo.PriceMinRate    = searchInfo.PriceMinRate;
            if (searchInfo.HotelRank != HotelRankEnum._00)
            {
                localSearchInfo.Rank = searchInfo.HotelRank.ToString().Replace("_", "");
            }
            if (searchInfo.Internet != BoolEnum.none)
            {
                localSearchInfo.IsInternet = searchInfo.Internet == BoolEnum.Y ? true : false;
            }

            int pageSize    = pageInfo.PageSize;
            int pageIndex   = pageInfo.CurrentPage;
            int recordCount = pageInfo.TotalNum;

            items = dal.GetHotels(pageSize, pageIndex, ref recordCount, localSearchInfo);

            pageInfo.TotalNum = recordCount;

            return(items);
        }
Exemplo n.º 6
0
        /// <summary>
        /// 获取酒店集合
        /// </summary>
        /// <param name="QueryModel">酒店查询实体</param>
        /// <param name="RespPageInfo">酒店查询返回的分页信息</param>
        /// <param name="ErrModel">请求错误信息</param>
        /// <returns>酒店实体集合</returns>
        public IList <EyouSoft.Model.HotelStructure.HotelInfo> GetHotelList(HotelBI.MultipleSeach QueryModel, ref EyouSoft.Model.HotelStructure.RespPageInfo RespPageInfo, out HotelBI.ErrorInfo ErrModel)
        {
            ErrModel = null;
            if (QueryModel == null)
            {
                return(null);
            }

            RespPageInfo = RespPageInfo ?? new EyouSoft.Model.HotelStructure.RespPageInfo()
            {
                CurrentPage  = 1,
                PageSize     = 10,
                TotalNum     = 0,
                TotalPageNum = 0
            };

            RespPageInfo.CurrentPage = QueryModel.PageNo;
            RespPageInfo.PageSize    = QueryModel.NumOfEachPage;

            return(this.GetLocalCacheHotels(QueryModel, RespPageInfo, out ErrModel));

            //return GetHotelListByXML(GetResponseXML(QueryModel.MultiRequestXML, out ErrModel), ref RespPageInfo);
        }