protected void Page_Init(object sender, EventArgs e)
        {
            if (Page.RouteData.Values["hotelName"] != null &&
                Page.RouteData.Values["productName"] != null)
            {
                _products = _productRepository.GetProductsByName((string)Page.RouteData.Values["hotelName"],
                                                                 (string)Page.RouteData.Values["productName"],
                                                                 (string)Session["UserSession"]);
                _hotel = _productRepository.HotelList.First(h => h.HotelId == _products.ProductId);
            }

            if (Session[Constant.UpgradeKey] != null)
            {
                int bookingsTempId = int.Parse(Session[Constant.UpgradeKey].ToString());
                _bookingTemp = _productRepository.GetBookingsTempById(bookingsTempId);
            }

            if (!IsPostBack)
            {
                List <Products> availableUpgradeProducts = _productRepository.GetAvailbleUpgradeProducts(_products.ProductId, _bookingTemp.Item1.CheckinDate);
                const String    mixpanelscript           = "MixpanelScript";
                string          strScript = string.Empty;
                availableUpgradeProducts.ForEach(item =>
                {
                    string strUrl = string.Format("/{0}/{1}/{2}/{3}-",
                                                  Page.RouteData.Values["market"],
                                                  Page.RouteData.Values["city"],
                                                  Page.RouteData.Values["hotelName"],
                                                  item.ProductName.Trim().Replace(" ", "-").ToLower());
                    switch (item.ProductType)
                    {
                    case (int)Enums.ProductType.SpaPass:
                        strUrl += "spa-pass";
                        break;

                    case (int)Enums.ProductType.Daybed:
                        strUrl += "daybeds";
                        break;

                    default:
                        strUrl += "cabanas";
                        break;
                    }
                    strScript += Helper.GetMixpanelScriptRedirect(item.ProductId, strUrl);
                });
                if (!string.IsNullOrEmpty(strScript))
                {
                    ScriptManager.RegisterClientScriptBlock(HotelList, typeof(string), mixpanelscript, strScript, true);
                }

                LvHotelRepeater.DataSource = availableUpgradeProducts;
                LvHotelRepeater.DataBind();
            }

            if (PublicCustomerInfos != null)
            {
                _customerCredits = _customerCreditRepository.GetById(PublicCustomerInfos.CustomerId);
            }
        }
Esempio n. 2
0
        private void BindHotelSearch(out List <Products> listProducts)
        {
            SearchResultObject = GetSearchResult();

            listProducts = SearchResultObject.Result.Items;

            const string mixpanelscript = "MixpanelScript";
            string       strScript      = string.Empty;

            listProducts.ForEach(item =>
            {
                if (item.ProductId == 0)
                {
                    strScript += Helper.GetMixpanelScriptRedirect(item.ProductId, Constant.GoldPassLink + "?source=search");
                }
                else
                {
                    strScript += Helper.GetMixpanelScriptRedirect(item.ProductId,
                                                                  string.Format("/{0}/{1}/{2}/{3}/{4}",
                                                                                Page.RouteData.Values["market"] ?? "socal",
                                                                                Helper.ReplaceSpecialCharacter(item.Hotels.City),
                                                                                Helper.ReplaceSpecialCharacter(item.Hotels.HotelName),
                                                                                Helper.ReplaceSpecialCharacter(item.ProductName),
                                                                                item.ProductId));
                }
            });
            if (!string.IsNullOrEmpty(strScript))
            {
                ScriptManager.RegisterClientScriptBlock(HotelList, typeof(string), mixpanelscript, strScript, true);
            }

            LvHotelRepeater.DataSource = listProducts;
            LvHotelRepeater.DataBind();

            FilterResultHidden.Value = WebUtility.HtmlEncode(string.Format("<b>{0}</b> out of {1}",
                                                                           listProducts.Count > 3 ? listProducts.Count - 1 : listProducts.Count,
                                                                           SearchResultObject.Result.TotalRecords));

            // Keep Search Params in Session
            string json = JsonConvert.SerializeObject(SearchParamsSaved, CustomSettings.SerializerSettings());

            Session["SearchParamsSaved"] = json;
        }