コード例 #1
0
    private void ConfigureStaySelectorControl()
    {
        StayCriteriaSelection objStayCriteriaSelection = (StayCriteriaSelection)Session[Constants.Sessions.StayCriteriaSelection];
        HotelSearchRS objAreaListHotelSearchRS = (HotelSearchRS)Session["AreaListHotelSearchRS"];
        HotelSearchRS objPropertyListHotelSearchRS = (HotelSearchRS)Session["PropertyListHotelSearchRS"];
        HotelDescriptiveInfoRS objHotelDescriptiveInfoRS = (HotelDescriptiveInfoRS)Session["HotelDescriptiveInfoRS"];

        CountryListItem[] objCountryListItems = new CountryListItem[0];
        AreaListItem[] objAreaListItems = new AreaListItem[0];
        HotelListItem[] objHotelListItems = new HotelListItem[0];

        if (ConfigurationManager.AppSettings["EnableHotelSearch"] == "1")
        {
            objCountryListItems = this.GetCountryList(objAreaListHotelSearchRS.AreaListItems);
            objAreaListItems = this.GetCountryAreaList(objStayCriteriaSelection.CountryCode, objAreaListHotelSearchRS.AreaListItems);
            objHotelListItems = this.GetAreaHotelList(objStayCriteriaSelection.AreaID, objPropertyListHotelSearchRS.HotelListItems);
        }

        else
        {
            objHotelListItems = objPropertyListHotelSearchRS.HotelListItems;
        }

        HotelDescriptiveInfo objHotelDescriptiveInfo = new HotelDescriptiveInfo();

        if (objHotelDescriptiveInfoRS.HotelDescriptiveInfos.Length != 0)
        {
            objHotelDescriptiveInfo = objHotelDescriptiveInfoRS.HotelDescriptiveInfos[0];
        }

        ucStayCriteriaControl.Clear();

        ucStayCriteriaControl.ID = "StayCriteriaSelector";

        if (ConfigurationManager.AppSettings["EnableHotelSearch"] == "1")
            ucStayCriteriaControl.StayCriteriaSelectorType = StayCriteriaSelectorType.HotelSearch;
        else
            ucStayCriteriaControl.StayCriteriaSelectorType = StayCriteriaSelectorType.HotelList;

        ucStayCriteriaControl.CountryListItems = objCountryListItems;
        ucStayCriteriaControl.AreaListItems = objAreaListItems;
        ucStayCriteriaControl.HotelListItems = objHotelListItems;
        ucStayCriteriaControl.StayCriteriaSelectorMode = StayCriteriaSelectorMode.Change;
        ucStayCriteriaControl.StayCriteriaSelection = (StayCriteriaSelection)Session[Constants.Sessions.StayCriteriaSelection];
        ucStayCriteriaControl.HotelDescriptiveInfo = objHotelDescriptiveInfo;

        return;
    }
コード例 #2
0
    private void ConfigureStaySelectorControl()
    {
        StayCriteriaSelection objStayCriteriaSelection = (StayCriteriaSelection)Session[Constants.Sessions.StayCriteriaSelection];
        HotelSearchRS objAreaListHotelSearchRS = (HotelSearchRS)Session["AreaListHotelSearchRS"];
        HotelSearchRS objPropertyListHotelSearchRS = (HotelSearchRS)Session["PropertyListHotelSearchRS"];

        CountryListItem[] objCountryListItems = this.GetCountryList(objAreaListHotelSearchRS.AreaListItems);
        AreaListItem[] objAreaListItems = new AreaListItem[0];
        HotelListItem[] objHotelListItems = new HotelListItem[0];

        bool bCountrySelected = false;
        bool bAreaSelected = false;
        bool bHotelSelected = false;

        if (objStayCriteriaSelection.CountryCode != null && objStayCriteriaSelection.CountryCode != "")
            bCountrySelected = true;

        if (objStayCriteriaSelection.AreaID != null && objStayCriteriaSelection.AreaID != "")
            bAreaSelected = true;

        if (objStayCriteriaSelection.HotelCode != null && objStayCriteriaSelection.HotelCode != "")
            bHotelSelected = true;

        if (!bCountrySelected && !bAreaSelected && bHotelSelected) // can occurr from deep link page, init country and area selections
        {
            bool bHotelLocated = false;

            for (int i = 0; i < objPropertyListHotelSearchRS.HotelListItems.Length; i++)
            {
                if (objPropertyListHotelSearchRS.HotelListItems[i].HotelCode == objStayCriteriaSelection.HotelCode)
                {
                    if (objPropertyListHotelSearchRS.HotelListItems[i].AreaIDs != null && objPropertyListHotelSearchRS.HotelListItems[i].AreaIDs.Length != 0)
                    {
                        string strCountryCode = this.GetCountryCode(objPropertyListHotelSearchRS.HotelListItems[i].AreaIDs[0], objAreaListHotelSearchRS.AreaListItems);

                        if (strCountryCode != null && strCountryCode != "")
                        {
                            objStayCriteriaSelection.CountryCode = strCountryCode;
                            bCountrySelected = true;

                            objStayCriteriaSelection.AreaID = objPropertyListHotelSearchRS.HotelListItems[i].AreaIDs[0];
                            bAreaSelected = true;

                            Session[Constants.Sessions.StayCriteriaSelection] = objStayCriteriaSelection;

                            bHotelLocated = true;
                            break;
                        }

                        else
                        {
                            break;
                        }

                    }

                    else
                    {
                        break;
                    }

                }

            }

            if (!bHotelLocated)
            {
                objStayCriteriaSelection.HotelCode = "";
                Session[Constants.Sessions.StayCriteriaSelection] = objStayCriteriaSelection;
                bHotelSelected = false;
            }

        }

        if (!bCountrySelected && bAreaSelected) // can occurr from deep link page, init country selection
        {
            string strCountryCode = this.GetCountryCode(objStayCriteriaSelection.AreaID, objAreaListHotelSearchRS.AreaListItems);

            if (strCountryCode != null && strCountryCode != "")
            {
                objStayCriteriaSelection.CountryCode = strCountryCode;
                Session[Constants.Sessions.StayCriteriaSelection] = objStayCriteriaSelection;
                bCountrySelected = true;
            }

        }

        if (bCountrySelected)
        {
            objAreaListItems = this.GetCountryAreaList(objStayCriteriaSelection.CountryCode, objAreaListHotelSearchRS.AreaListItems);
        }

        if (!bCountrySelected && objCountryListItems.Length == 1) // default country selection if only 1 choice
        {
            objStayCriteriaSelection.CountryCode = objCountryListItems[0].CountryCode;
            bCountrySelected = true;

            objAreaListItems = this.GetCountryAreaList(objStayCriteriaSelection.CountryCode, objAreaListHotelSearchRS.AreaListItems);

            objStayCriteriaSelection.AreaID = "";
            bAreaSelected = false;

            objStayCriteriaSelection.HotelCode = "";
            bHotelSelected = false;
        }

        if (bCountrySelected && !bAreaSelected && objAreaListItems.Length == 1)  // default area selection if only 1 choice
        {
            objStayCriteriaSelection.AreaID = objAreaListItems[0].AreaID;
            bAreaSelected = true;

            objStayCriteriaSelection.HotelCode = "";
            bHotelSelected = false;
        }

        if (bCountrySelected && bAreaSelected)
        {
            objHotelListItems = this.GetAreaHotelList(objStayCriteriaSelection.AreaID, objPropertyListHotelSearchRS.HotelListItems);

            if (objHotelListItems.Length == 1) // default hotel selection if only 1 choice
                objStayCriteriaSelection.HotelCode = objHotelListItems[0].HotelCode;
        }

        ucStayCriteriaControl.Clear();

        ucStayCriteriaControl.ID = "StayCriteriaSelector";
        ucStayCriteriaControl.StayCriteriaSelectorType = StayCriteriaSelectorType.HotelSearch;
        ucStayCriteriaControl.StayCriteriaSelectorMode = StayCriteriaSelectorMode.New;
        ucStayCriteriaControl.CountryListItems = objCountryListItems;
        ucStayCriteriaControl.AreaListItems = objAreaListItems;
        ucStayCriteriaControl.HotelListItems = objHotelListItems;
        ucStayCriteriaControl.StayCriteriaSelection = objStayCriteriaSelection;
        ucStayCriteriaControl.HotelDescriptiveInfo = null;

        return;
    }
コード例 #3
0
        // GET: Hotel
        public ActionResult Index()
        {
            var model = new HotelListItem[0];

            return(View(model));
        }
コード例 #4
0
    public HotelListItem[] GetAreaHotelList(string strAreaID, HotelListItem[] objHotelListItems)
    {
        List<HotelListItem> lHotelListItems = new List<HotelListItem>();

        for (int i = 0; i < objHotelListItems.Length; i++)
        {
            for (int j = 0; j < objHotelListItems[i].AreaIDs.Length; j++)
            {
                if (objHotelListItems[i].AreaIDs[j] == strAreaID)
                {
                    lHotelListItems.Add(objHotelListItems[i]);
                    break;
                }

            }

        }

        return lHotelListItems.ToArray();
    }