コード例 #1
0
    public void GetAllSubCategoryForFilter()
    {
        AspxCommonInfo aspxCommonObj = new AspxCommonInfo();

        aspxCommonObj.StoreID     = StoreID;
        aspxCommonObj.PortalID    = PortalID;
        aspxCommonObj.UserName    = UserName;
        aspxCommonObj.CultureName = CultureName;
        string modulePath = this.AppRelativeTemplateSourceDirectory;

        hst = AppLocalized.getLocale(modulePath);
        string aspxTemplateFolderPath         = ResolveUrl("~/") + "Templates/" + TemplateName;
        List <CategoryDetailFilter> lstCatDet = AspxFilterController.GetAllSubCategoryForFilter(Categorykey, aspxCommonObj);
        StringBuilder elem = new StringBuilder();

        elem.Append("<div class=\"filter\">");
        if (lstCatDet != null && lstCatDet.Count > 0)
        {
            elem.Append("<div id=\"divCat\" value=\"b01\" class=\"cssClasscategorgy\">");
            elem.Append("<div class=\"divTitle\"><b><label style=\"color:#006699\">" + getLocale("Categories") + "</label></b><img align=\"right\" src=\"" + aspxTemplateFolderPath + "/images/arrow_up.png\"/></div> <div id=\"scrollbar1\" class=\"cssClassScroll\"> <div class=\"scrollbar\"> <div class=\"track\"><div class=\"thumb\" style=\"display:none\"> <div class=\"end\">  </div> </div>  </div>  </div><div class=\"viewport\"><div class=\"overview\" id=\"catOverview\"><div class=\"divContentb01\"><ul id=\"cat\">");
            foreach (CategoryDetailFilter value in lstCatDet)
            {
                elem.Append("<li><label><input class=\"chkCategory\" type=\"checkbox\" name=\"" + value.CategoryName + "\" ids=\"" + value.CategoryID + "\" value=\"" + value.CategoryName + "\"/> " + value.CategoryName + "<span> (" + value.ItemCount + ")</span></label></li>");
            }
            elem.Append("</ul></div></div></div></div></div>");
        }
        string brandFilter = GetAllBrandForCategory();

        elem.Append(brandFilter);
        elem.Append("</div>");
        ltrFilter.Text = elem.ToString();
    }
コード例 #2
0
    private void OverRideSEOInfo(string categorykey, AspxCommonInfo aspxCommonObj)
    {
        CategorySEOInfo dtCatSEO = AspxFilterController.GetSEOSettingsByCategoryName(categorykey, aspxCommonObj);

        if (dtCatSEO != null)
        {
            string Name            = dtCatSEO.Name.ToString();
            string PageTitle       = dtCatSEO.MetaTitle.ToString();
            string PageKeyWords    = dtCatSEO.MetaKeywords.ToString();
            string PageDescription = dtCatSEO.MetaDescription.ToString();

            if (!string.IsNullOrEmpty(PageTitle))
            {
                SEOHelper.RenderTitle(this.Page, PageTitle, false, true, PortalID);
            }
            else
            {
                SEOHelper.RenderTitle(this.Page, Name, false, true, PortalID);
            }

            if (!string.IsNullOrEmpty(PageKeyWords))
            {
                SEOHelper.RenderMetaTag(this.Page, "KEYWORDS", PageKeyWords, true);
            }

            if (!string.IsNullOrEmpty(PageDescription))
            {
                SEOHelper.RenderMetaTag(this.Page, "DESCRIPTION", PageDescription, true);
            }
        }
    }
コード例 #3
0
    public string GetAllBrandForCategory()
    {
        AspxCommonInfo aspxCommonObj = new AspxCommonInfo();

        aspxCommonObj.StoreID     = StoreID;
        aspxCommonObj.PortalID    = PortalID;
        aspxCommonObj.UserName    = UserName;
        aspxCommonObj.CultureName = CultureName;
        bool   isByCategory                   = false;
        string aspxTemplateFolderPath         = ResolveUrl("~/") + "Templates/" + TemplateName;
        List <BrandItemsInfo> lstBrandItem    = AspxFilterController.GetAllBrandForCategory(Categorykey, isByCategory, aspxCommonObj);
        StringBuilder         elem            = new StringBuilder();
        StringBuilder         scriptToExecute = new StringBuilder();
        List <int>            arrBrand        = new List <int>();

        if (lstBrandItem.Count > 0)
        {
            elem.Append("<div value=\"0\" class=\"cssClasscategorgy\">");
            elem.Append("<div class=\"divTitle\"><b><label style=\"color:#006699\">" + getLocale("Brands") + "</label></b><img align=\"right\" src=\"" + aspxTemplateFolderPath + "/images/arrow_up.png\" /></div><div id=\"scrollbar2\" class=\"cssClassScroll\"> <div class=\"scrollbar\"> <div class=\"track\"><div class=\"thumb\" style=\"display:none\"> <div class=\"end\"> </div></div></div>  </div><div class=\"viewport\"><div class=\"overview\"><div class=\"divContent0\"><ul>");
            //$(".filter").append(elem);
            foreach (BrandItemsInfo value in lstBrandItem)
            {
                if (arrBrand.IndexOf(value.BrandID) == -1)
                {
                    elem.Append("<li><label><input class=\"chkFilter\" type=\"checkbox\" name=\"" + value.BrandName + "\" ids=\"" + value.ItemID + "\" value=\"0\"/> " + value.BrandName + "<span id=\"count\"></span></label></li>");
                    //$(".filter").find('div[value="0"]').find('ul').append(elem);
                    arrBrand.Add(value.BrandID);
                }
                else
                {
                    scriptToExecute.Append("var ids = $('.filter').find('div[value=0]').find('ul').find('input[type=checkbox][value=0][name=" + value.BrandName + "]').attr('ids');");
                    scriptToExecute.Append("ids +=','+" + value.ItemID + ";");
                    scriptToExecute.Append(" $('.filter').find('div[value=0]').find('ul').find('input[type=checkbox][value=0][name=" + value.BrandName + "]').attr('ids', ids);");
                }
            }
            elem.Append("</ul></div></div></div></div></div>");
            string script = GetStringScript(scriptToExecute.ToString());
            elem.Append(script);
        }
        string shopFilter = GetShoppingFilter();

        elem.Append(shopFilter);
        return(elem.ToString());
    }
コード例 #4
0
    public string GetAllBrandForCategory(AspxCommonInfo aspxCommonObj)
    {
        bool   isByCategory                = false;
        string aspxTemplateFolderPath      = ResolveUrl("~/") + "Templates/" + TemplateName;
        List <BrandItemsInfo> lstBrandItem = AspxFilterController.GetAllBrandForCategory(Categorykey, isByCategory, aspxCommonObj);
        StringBuilder         elem         = new StringBuilder();
        List <int>            arrBrand     = new List <int>();

        if (lstBrandItem.Count > 0)
        {
            elem.Append("<div value=\"0\" class=\"cssClasscategorgy\">");
            elem.Append("<div class=\"divTitle\"><b><label style=\"color:#006699\">");
            elem.Append(getLocale("Brands"));
            elem.Append("</label></b><img align=\"right\" src=\"");
            elem.Append(aspxTemplateFolderPath);
            elem.Append("/images/arrow_up.png\" /></div><div id=\"scrollbar2\" class=\"cssClassScroll\"><div class=\"viewport\"><div class=\"overview\"><div class=\"divContent0\"><ul>");
            foreach (BrandItemsInfo value in lstBrandItem)
            {
                if (arrBrand.IndexOf(value.BrandID) == -1)
                {
                    elem.Append("<li><label><input class=\"chkFilter chkBrand\" type=\"checkbox\" name=\"");
                    elem.Append(value.BrandName);
                    elem.Append("\" ids=\"");
                    elem.Append(value.BrandID);
                    elem.Append("\" value=\"0\"/> ");
                    elem.Append(value.BrandName);
                    elem.Append("<span id=\"count\"> (");
                    elem.Append(value.ItemCount);
                    elem.Append(")</span></label></li>");
                    arrBrand.Add(value.BrandID);
                }
            }
            elem.Append("</ul></div></div></div></div></div>");
        }
        string shopFilter = GetShoppingFilter(aspxCommonObj);

        elem.Append(shopFilter);
        return(elem.ToString());
    }
コード例 #5
0
    public string GetShoppingFilter()
    {
        AspxCommonInfo aspxCommonObj = new AspxCommonInfo();

        aspxCommonObj.StoreID     = StoreID;
        aspxCommonObj.PortalID    = PortalID;
        aspxCommonObj.UserName    = UserName;
        aspxCommonObj.CultureName = CultureName;
        bool               isByCategory           = false;
        string             aspxTemplateFolderPath = ResolveUrl("~/") + "Templates/" + TemplateName;
        List <Filter>      lstFilter      = AspxFilterController.GetShoppingFilter(aspxCommonObj, Categorykey, isByCategory);
        string             pId            = "";
        List <string>      attrID         = new List <string>();
        List <string>      attrValue      = new List <string>();
        string             attrName       = "";
        StringBuilder      elem           = new StringBuilder();
        StringBuilder      scriptExecute  = new StringBuilder();
        List <int>         catIdsArr      = new List <int>();
        StoreSettingConfig ssc            = new StoreSettingConfig();
        float              additionalCCVR = float.Parse(ssc.GetStoreSettingsByKey(StoreSetting.AdditionalCVR, StoreID, PortalID, CultureName));
        string             MainCurrency   = ssc.GetStoreSettingsByKey(StoreSetting.MainCurrency, StoreID, PortalID, CultureName);

        if (HttpContext.Current.Session["CurrencyRate"] != null)
        {
            if (Session["CurrencyCode"].ToString() != MainCurrency)
            {
                float rate1 = float.Parse(Session["CurrencyRate"].ToString());
                rate = (rate1 + (rate1 * additionalCCVR / 100));
            }
            else
            {
                rate = float.Parse(Session["CurrencyRate"].ToString());
            }
        }

        if (lstFilter != null && lstFilter.Count > 0)
        {
            int currentAttributeID = 0;
            scriptExecute.Append("$('#divShopFilter').show();$('.divRange').show();");

            foreach (Filter value in lstFilter)
            {
                if (catIdsArr.IndexOf(value.ItemID) == -1)
                {
                    catIdsArr.Add(value.ItemID);
                    catIds += value.ItemID + ",";
                }
                if (Int32.Parse(value.AttributeID) != 8 && Int32.Parse(value.AttributeID) > 40)
                {
                    if (attrID.IndexOf(value.AttributeID) == -1)
                    {
                        attrID.Add(value.AttributeID);
                        if (attrID.IndexOf(value.AttributeID) != -1)
                        {
                            if (Int32.Parse(value.AttributeID) != currentAttributeID && currentAttributeID > 0)
                            {
                                elem.Append("</ul></div></div></div></div></div>");
                            }
                            currentAttributeID = Int32.Parse(value.AttributeID);
                        }
                        elem.Append("<div value=" + value.AttributeID + " class=\"cssClasscategorgy\"><div class=\"divTitle\"><b><label style=\"color:#006699\">" + value.AttributeName + "</label></b><img align=\"right\" src=\"" + aspxTemplateFolderPath + "/images/arrow_up.png\"/></div> <div id=\"scrollbar3\" class=\"cssClassScroll\"> <div class=\"scrollbar\"> <div class=\"track\"><div class=\"thumb\" style=\"display:none\"> <div class=\"end\">  </div> </div>  </div>  </div><div class=\"viewport\"><div class=\"overview\"><div class=" + "divContent" + value.AttributeID + "><ul>");
                        attrValue = new List <string>();

                        //$(".filter").append(elem);
                        elem.Append("<li><label><input class= \"chkFilter\" type=\"checkbox\" name=\"" + value.AttributeValue + "\" ids=\"" + value.ItemID + "\" value=\"" + value.AttributeID + "\"/> " + value.AttributeValue + "<span id=\"count\"></span></label></li>");
                        //elem.Append("</ul></div></div></div></div></div>");
                        attrValue.Add(value.AttributeValue);
                    }
                    else
                    {
                        if (attrID.IndexOf(value.AttributeID) != -1)
                        {
                            if (Int32.Parse(value.AttributeID) != currentAttributeID && currentAttributeID > 0)
                            {
                                elem.Append("</ul></div></div></div></div></div>");
                            }
                            currentAttributeID = Int32.Parse(value.AttributeID);
                        }
                        if (attrValue.IndexOf(value.AttributeValue) == -1)
                        {
                            //elem = '';
                            elem.Append("<li><label><input class=\"chkFilter\" type=\"checkbox\" name=\"" + value.AttributeValue + "\" ids=\"" + value.ItemID + "\" value=\"" + value.AttributeID + "\"/> " + value.AttributeValue + "<span id=\"count\"></span></label></li>");
                            //$(".filter").find('div[value=' + value.AttributeID + ']').find('ul').append(elem);
                            attrValue.Add(value.AttributeValue);
                        }
                        else
                        {
                            scriptExecute.Append("var ids = $('.filter').find('input[type=checkbox][value=" + value.AttributeID + "][name=" + value.AttributeValue + "]').attr('ids');");
                            scriptExecute.Append("ids += ',' +" + value.ItemID + ";");
                            scriptExecute.Append("$('.filter').find('input[type=checkbox][value=" + value.AttributeID + "][name=" + value.AttributeValue + "]').attr('ids', ids);");
                        }
                    }


                    // elem.Append("</ul></div></div></div></div></div>");
                }

                else if (Int32.Parse(value.AttributeID) == 8)
                {
                    arrPrice.Add(value);
                    Page.ClientScript.RegisterArrayDeclaration("arrPrice", JSONHelper.Serialize(value.AttributeValue + "@" + value.ItemID));
                    if (float.Parse(value.AttributeValue) > maxPrice)
                    {
                        maxPrice = float.Parse(value.AttributeValue);
                    }
                    if (float.Parse(value.AttributeValue) < minPrice || minPrice == 0)
                    {
                        minPrice = float.Parse(value.AttributeValue);
                    }
                }
            }
            if (attrID.Count > 0)
            {
                elem.Append("</ul></div></div></div></div></div>");
            }
            float interval = (maxPrice - minPrice) / 4;
            elem.Append("<div value=\"8\" class=\"cssClassbrowseprice\">");
            elem.Append("<div class=\"divTitle\"><b><label style=\"color:#006699\">" + getLocale("Price") + "</label></b><img align=\"right\" src=\"" + aspxTemplateFolderPath + "/images/arrow_up.png\"/></div><div class=\"divContent8\"><ul>");
            if (arrPrice.Count > 1)
            {
                elem.Append("<li><a id=\"f1\" href=\"#\" ids=\"\"  minprice=" + GetPriceData(minPrice, 0, interval) + " maxprice=" + GetPriceData(minPrice, 1, interval) + ">" + "<span class=\"cssClassFormatCurrency\">" + minPrice * rate + "</span>" + " - " + "<span class=\"cssClassFormatCurrency\">" + GetPriceData(minPrice, 1, interval) * rate + "</span>" + "<span id=\"count\"></span></a></li>");
                elem.Append("<li><a id=\"f2\" href=\"#\" ids=\"\" minprice=" + GetPriceData(minPrice + float.Parse("0.01"), 1, interval) + " maxprice=" + GetPriceData(minPrice, 2, interval) + ">" + "<span class=\"cssClassFormatCurrency\">" + GetPriceData(minPrice * rate + float.Parse("0.01"), 1, interval * rate) + "</span>" + " - " + "<span class=\"cssClassFormatCurrency\">" + GetPriceData(minPrice, 2, interval) * rate + "</span>" + "<span id=\"count\"></span></a></li>");
                elem.Append("<li><a id=\"f3\" href=\"#\" ids=\"\" minprice=" + GetPriceData(minPrice + float.Parse("0.01"), 2, interval) + " maxprice=" + GetPriceData(minPrice, 3, interval) + ">" + "<span class=\"cssClassFormatCurrency\">" + GetPriceData(minPrice * rate + float.Parse("0.01"), 2, interval * rate) + "</span>" + " - " + "<span class=\"cssClassFormatCurrency\">" + GetPriceData(minPrice, 3, interval) * rate + "</span>" + "<span id=\"count\"></span></a></li>");
                elem.Append("<li><a id=\"f4\" href=\"#\" ids=\"\" minprice=" + GetPriceData(minPrice + float.Parse("0.01"), 3, interval) + " maxprice=" + maxPrice + ">" + "<span class=\"cssClassFormatCurrency\">" + GetPriceData(minPrice * rate + float.Parse("0.01"), 3, interval * rate) + "</span>" + " - " + "<span class=\"cssClassFormatCurrency\">" + maxPrice * rate + "</span>" + "<span id=\"count\"></span></a></li>");
            }
            if (arrPrice.Count == 1)
            {
                elem.Append("<li><a id=\"f1\" href=\"#\" ids=\",\"  minprice=" + GetPriceData(minPrice, 0, interval) + " maxprice=" + GetPriceData(minPrice, 1, interval) + ">" + "<span class=\"cssClassFormatCurrency\">" + minPrice * rate + "</span>" + "<span id=\"count\"></span></a></li>");
                minPrice = 0;
            }

            elem.Append("</ul></div>");
            elem.Append("<div class=\"divRange\"><div id=\"slider-range\"></div></div></div>");
            foreach (Filter value in arrPrice)
            {
                idsByPrice += value.ItemID + ",";
                if (float.Parse(value.AttributeValue) >= GetPriceData(minPrice, 0, interval) && float.Parse(value.AttributeValue) <= GetPriceData(minPrice, 1, interval))
                {
                    scriptExecute.Append("var ids = $('.filter').find('div[value=" + value.AttributeID + "]').find('#f1').attr('ids');");
                    scriptExecute.Append("ids += ','+" + value.ItemID + ";");
                    scriptExecute.Append("$('.filter').find('div[value=" + value.AttributeID + "]').find('#f1').attr('ids', ids);");
                }
                else if (float.Parse(value.AttributeValue) >= GetPriceData(minPrice + float.Parse("0.01"), 1, interval) && float.Parse(value.AttributeValue) <= GetPriceData(minPrice, 2, interval))
                {
                    scriptExecute.Append("var ids = $('.filter').find('div[value=" + value.AttributeID + "]').find('#f2').attr('ids');");
                    scriptExecute.Append("ids += ','+" + value.ItemID + ";");
                    scriptExecute.Append("$('.filter').find('div[value=" + value.AttributeID + "]').find('#f2').attr('ids', ids);");
                }
                else if (float.Parse(value.AttributeValue) >= GetPriceData(minPrice + float.Parse("0.01"), 2, interval) && float.Parse(value.AttributeValue) <= GetPriceData(minPrice, 3, interval))
                {
                    scriptExecute.Append("var ids = $('.filter').find('div[value=" + value.AttributeID + "]').find('#f3').attr('ids');");
                    scriptExecute.Append("ids += ','+" + value.ItemID + ";");
                    scriptExecute.Append("$('.filter').find('div[value=" + value.AttributeID + "]').find('#f3').attr('ids', ids);");
                }
                else if (float.Parse(value.AttributeValue) >= GetPriceData(minPrice + float.Parse("0.01"), 3, interval) && float.Parse(value.AttributeValue) <= maxPrice)
                {
                    scriptExecute.Append("var ids = $('.filter').find('div[value=" + value.AttributeID + "]').find('#f4').attr('ids');");
                    scriptExecute.Append("ids += ','+" + value.ItemID + ";");
                    scriptExecute.Append("$('.filter').find('div[value=" + value.AttributeID + "]').find('#f4').attr('ids', ids);");
                }
            }


            scriptExecute.Append(" $('.chkFilter').each(function() { var itemArray = []; itemArray = $(this).attr('ids').split(','); $(this).parents('li').find('#count').text(' (' + itemArray.length + ')'); }); $('.filter').find('div[value=8]').find('ul').find('li').each(function() { var itemArray = []; if ($(this).find('a').attr('ids').indexOf(',') != -1) { var anchorItem = $(this).find('a').attr('ids').substring(1, $(this).find('a').attr('ids').length); itemArray = anchorItem.split(','); } $(this).find('#count').text(' (' + itemArray.length + ')'); }); ");
            scriptExecute.Append(
                "$('#amount').html('<span class=\"cssClassFormatCurrency\">" + minPrice * rate + "</span>' +' - ' + '<span class=\"cssClassFormatCurrency\">" + maxPrice * rate + "</span>');");
            scriptExecute.Append(
                "$('.cssClassFormatCurrency').formatCurrency({ colorize: true, region: '' + region + '' });");

            string script = GetStringScript(scriptExecute.ToString());
            elem.Append(script);
            return(elem.ToString());
        }
        return("");
    }
コード例 #6
0
    public void GetShoppingFilterItemsResult(AspxCommonInfo aspxCommonObj)
    {
        StringBuilder        strItemsResult  = new StringBuilder();
        JavaScriptSerializer json_serializer = new JavaScriptSerializer();
        string template      = AspxGetTemplates.GetAspxTemplate(ViewAsOptionsDefault);
        string itemImagePath = ResolveUrl("~/") + "Modules/AspxCommerce/AspxItemsManagement/uploads/";
        List <ItemBasicDetailsInfo> lstItems = AspxFilterController.GetShoppingFilterItemsResult(1, 9, "", "", minPrice, maxPrice, Categorykey, false, SortByOptionsDefault, aspxCommonObj);

        if (lstItems != null && lstItems.Count > 0)
        {
            if (ViewAsOptionsDefault == 1)
            {
                strItemsResult.Append("<div class='cssCatProductGridWrapper'>");
            }
            Page.ClientScript.RegisterArrayDeclaration("arrItemsOptionToBind", json_serializer.Serialize(lstItems));
            string price     = "0.00";
            string listPrice = "0.00";
            foreach (ItemBasicDetailsInfo value in lstItems)
            {
                string template1 = template;
                string imagePath = itemImagePath + value.BaseImage;
                if (value.BaseImage == string.Empty)
                {
                    imagePath = NoImageCategoryDetailPath;
                }
                else
                {
                    InterceptImageController.ImageBuilder(value.BaseImage, ImageType.Medium, ImageCategoryType.Item, aspxCommonObj);
                }
                string name = string.Empty;
                if (value.Name.Length > 50)
                {
                    name = value.Name.Substring(0, 50);
                    var i = 0;
                    i    = name.LastIndexOf(' ');
                    name = name.Substring(0, i);
                    name = name + "...";
                }
                else
                {
                    name = value.Name;
                }
                string sku = json_serializer.Serialize(value.SKU);

                string title = json_serializer.Serialize(value.Name);
                price     = (!string.IsNullOrEmpty(value.Price) ? Convert.ToDecimal(value.Price).ToString("N2") : "0.00");
                listPrice = (!string.IsNullOrEmpty(value.ListPrice) ? Convert.ToDecimal(value.ListPrice).ToString("N2") : "0.00");
                Dictionary <string, string> replacements = new Dictionary <string, string>();
                replacements.Add("${sku}", value.SKU);
                replacements.Add("${aspxRedirectPath}", aspxRedirectPath);
                replacements.Add("${pageExtension}", SageFrameSettingKeys.PageExtension);
                replacements.Add("${imagePath}", imagePath);
                replacements.Add("${alternateText}", value.AlternateText);
                replacements.Add("${name}", name);
                replacements.Add("${titleName}", title);
                replacements.Add("${parseFloat(price).toFixed(2)}", price);
                replacements.Add("${JSON2.stringify(sku)}", sku);
                replacements.Add("${isCostVariant}", json_serializer.Serialize(value.IsCostVariantItem.ToString()));
                replacements.Add("${1}", "1");
                replacements.Add("${price}", value.Price);
                if (value.ListPrice != string.Empty)
                {
                    replacements.Add("${parseFloat(listPrice).toFixed(2)}", listPrice);
                }
                else
                {
                    replacements.Add("<p class=\"cssClassProductOffPrice\">", string.Empty);
                    replacements.Add("<span class=\"cssRegularPrice_${itemID} cssClassFormatCurrency\">${parseFloat(listPrice).toFixed(2)}</span></p>", string.Empty);
                }
                // Replace
                if (value.AttributeValues != null)
                {
                    if (value.AttributeValues != string.Empty)
                    {
                        string   attrHtml   = string.Empty;
                        string[] attrValues = value.AttributeValues.Split(',');
                        for (var i = 0; i < attrValues.Length; i++)
                        {
                            string[] attributes     = attrValues[i].Split('#');
                            string   attributeName  = attributes[0];
                            string   attributeValue = attributes[1];
                            int      inputType      = Int32.Parse(attributes[2]);
                            string   validationType = attributes[3];
                            attrHtml += "<div class=\"cssDynamicAttributes\">";
                            if (inputType == 7)
                            {
                                attrHtml += "<span class=\"cssClassFormatCurrency\">";
                            }
                            else
                            {
                                attrHtml += "<span>";
                            }
                            attrHtml += attributeValue;
                            attrHtml += "</span></div>";
                        }
                        replacements.Add("$DynamicAttr", attrHtml);
                    }
                    else
                    {
                        if (ViewAsOptionsDefault == 1)
                        {
                            replacements.Add("<div class=\"cssGridDyanamicAttr\">$DynamicAttr</div>", string.Empty);
                        }
                        else
                        {
                            replacements.Add("<div class=\"cssListDyanamicAttr\">$DynamicAttr</div>", string.Empty);
                        }
                    }
                }
                else
                {
                    if (ViewAsOptionsDefault == 1)
                    {
                        replacements.Add("<div class=\"cssGridDyanamicAttr\">$DynamicAttr</div>", string.Empty);
                    }
                    else
                    {
                        replacements.Add("<div class=\"cssListDyanamicAttr\">$DynamicAttr</div>", string.Empty);
                    }
                }

                if (AllowAddToCart.ToLower() == "true")
                {
                    if (AllowOutStockPurchase.ToLower() == "false")
                    {
                        if ((bool)value.IsOutOfStock)
                        {
                            replacements.Add("<span class=\"sfLocale\">" + getLocale("Cart +") + "</span>", "<span class=\"sfLocale\">" + getLocale("Out Of Stock") + "</span>");
                            replacements.Add("<div class=\"cssClassAddtoCard_${itemID} cssClassAddtoCard\">", "<div class=\"cssClassAddtoCard_${itemID} cssClassOutOfStock\">");
                            replacements.Add("<label class=\"i-cart cssClassCartLabel cssClassGreenBtn\">", "<label class=\"cssClassCartLabel\">");
                            replacements.Add("onclick=\"AspxCommerce.RootFunction.AddToCartFromJS(${itemID},${price},${JSON2.stringify(sku)},${1},${isCostVariant},this);", string.Empty);
                        }
                    }
                }
                else
                {
                    replacements.Add("<div class=\"cssClassAddtoCard_${itemID} cssClassAddtoCard\">", "<div class=\"cssClassAddtoCard_${itemID} cssClassAddtoCard\" style=\"display: none;\">");
                }
                if (value.ItemTypeID == 5)
                {
                    replacements.Add("<p class=\"cssClassProductRealPrice\">", "<p class=\"cssClassProductRealPrice\">" + getLocale("Starting At") + "");
                }
                if (ViewAsOptionsDefault == 2)
                {
                    replacements.Add("{{html shortDescription}}", Server.HtmlDecode(value.ShortDescription));
                }

                replacements.Add("${itemID}", value.ItemID.ToString());
                foreach (var replacement in replacements)
                {
                    template1 = template1.Replace(replacement.Key, replacement.Value);
                }
                strItemsResult.Append(template1);
            }
            if (ViewAsOptionsDefault == 1)
            {
                strItemsResult.Append("</div>");
                StringBuilder strScriptExecute = new StringBuilder();
                strScriptExecute.Append("var $container");
                strScriptExecute.Append("= ");
                strScriptExecute.Append("$('.cssCatProductGridWrapper');");
                strScriptExecute.Append("$container.imagesLoaded(function () {");
                strScriptExecute.Append("$container.masonry({");
                strScriptExecute.Append("itemSelector: '.cssClassProductsBox',");
                strScriptExecute.Append("EnableSorting: false");
                strScriptExecute.Append("});");
                strScriptExecute.Append("});");
                string script = GetStringScript(strScriptExecute.ToString());
                strItemsResult.Append(script);
            }

            ltrCategoryItems.Text = strItemsResult.ToString();
            CreateDropdownPageSize(lstItems.Count);
        }
        else
        {
            ltrCategoryItems.Text = ("<span class=\"cssClassNotFound\">" + getLocale("No items found or matched!") + "</span>").ToString();
        }
    }
コード例 #7
0
    public string GetShoppingFilter(AspxCommonInfo aspxCommonObj)
    {
        bool          isByCategory           = false;
        string        aspxTemplateFolderPath = ResolveUrl("~/") + "Templates/" + TemplateName;
        List <Filter> lstFilter = AspxFilterController.GetShoppingFilter(aspxCommonObj, Categorykey, isByCategory);
        List <string> attrID    = new List <string>();
        List <string> attrValue = new List <string>();
        StringBuilder elem      = new StringBuilder();

        //StringBuilder scriptExecute = new StringBuilder();

        if (lstFilter != null && lstFilter.Count > 0)
        {
            int currentAttributeID = 0;
            //scriptExecute.Append("$('#divShopFilter').show();$('.divRange').show();");
            foreach (Filter value in lstFilter)
            {
                IsCategoryHasItems = 1;
                if (Int32.Parse(value.AttributeID) != 8 && Int32.Parse(value.AttributeID) > 48)
                {
                    if (attrID.IndexOf(value.AttributeID) == -1)
                    {
                        attrID.Add(value.AttributeID);
                        if (attrID.IndexOf(value.AttributeID) != -1)
                        {
                            if (Int32.Parse(value.AttributeID) != currentAttributeID && currentAttributeID > 0)
                            {
                                elem.Append("</ul></div></div></div></div></div>");
                            }
                            currentAttributeID = Int32.Parse(value.AttributeID);
                        }
                        elem.Append("<div value=");
                        elem.Append(value.AttributeID);
                        elem.Append(" class=\"cssClasscategorgy\"><div class=\"divTitle\"><b><label style=\"color:#006699\">");
                        elem.Append(value.AttributeName);
                        elem.Append("</label></b><img align=\"right\" src=\"");
                        elem.Append(aspxTemplateFolderPath);
                        elem.Append("/images/arrow_up.png\"/></div> <div id=\"scrollbar3\" class=\"cssClassScroll\"><div class=\"viewport\"><div class=\"overview\"><div class=");
                        elem.Append("divContent");
                        elem.Append(value.AttributeID);
                        elem.Append("><ul>");
                        attrValue = new List <string>();
                        elem.Append("<li><label><input class= \"chkFilter\" type=\"checkbox\" name=\"");
                        elem.Append(value.AttributeValue);
                        elem.Append("\" inputTypeID=\"");
                        elem.Append(value.InputTypeID);
                        elem.Append("\"  value=\"");
                        elem.Append(value.AttributeID);
                        elem.Append("\"/> ");
                        elem.Append(value.AttributeValue);
                        elem.Append("<span id=\"count\"> (");
                        elem.Append(value.ItemCount);
                        elem.Append(")</span></label></li>");
                        attrValue.Add(value.AttributeValue);
                    }
                    else
                    {
                        if (attrID.IndexOf(value.AttributeID) != -1)
                        {
                            if (Int32.Parse(value.AttributeID) != currentAttributeID && currentAttributeID > 0)
                            {
                                elem.Append("</ul></div></div></div></div></div>");
                            }
                            currentAttributeID = Int32.Parse(value.AttributeID);
                        }

                        if (attrValue.IndexOf(value.AttributeValue) == -1)
                        {
                            elem.Append("<li><label><input class=\"chkFilter\" type=\"checkbox\" name=\"");
                            elem.Append(value.AttributeValue);
                            elem.Append("\" inputTypeID=\"");
                            elem.Append(value.InputTypeID);
                            elem.Append("\"  value=\"");
                            elem.Append(value.AttributeID);
                            elem.Append("\"/> ");
                            elem.Append(value.AttributeValue);
                            elem.Append("<span id=\"count\"> (");
                            elem.Append(value.ItemCount);
                            elem.Append(")</span></label></li>");
                            attrValue.Add(value.AttributeValue);
                        }
                    }
                }

                else if (Int32.Parse(value.AttributeID) == 8)
                {
                    arrPrice.Add(value);
                    if (decimal.Parse(value.AttributeValue) > maxPrice)
                    {
                        maxPrice = decimal.Parse(value.AttributeValue);
                    }
                }
            }
            if (attrID.Count > 0)
            {
                elem.Append("</ul></div></div></div></div></div>");
            }
            decimal interval = (maxPrice - minPrice) / 4;
            elem.Append("<div value=\"8\" class=\"cssClassbrowseprice\">");
            elem.Append("<div class=\"divTitle\"><b><label style=\"color:#006699\">");
            elem.Append(getLocale("Price"));
            elem.Append("</label></b><img align=\"right\" src=\"");
            elem.Append(aspxTemplateFolderPath);
            elem.Append("/images/arrow_up.png\"/></div><div class=\"divContent8\"><ul>");
            if (arrPrice.Count > 1)
            {
                elem.Append(GetPriceData(minPrice, 1, interval) != minPrice.ToString("N2") ? "<li><a id=\"f1\" href=\"#\"  minprice=" + GetPriceData(minPrice, 0, interval) + " maxprice=" + GetPriceData(minPrice, 1, interval) + ">" + "<span class=\"cssClassFormatCurrency\">" + minPrice.ToString("N2") + "</span>" + " - " + "<span class=\"cssClassFormatCurrency\">" + GetPriceDataFloat(minPrice, 1, interval) + "</span>" + "</a></li>" : "");
                elem.Append(GetPriceData(minPrice, 0, interval) != GetPriceData(minPrice + decimal.Parse("0.01"), 1, interval) && GetPriceData(minPrice, 2, interval) != GetPriceData(minPrice, 1, interval) ? "<li><a id=\"f2\" href=\"#\"  minprice=" + GetPriceData(minPrice + decimal.Parse("0.01"), 1, interval) + " maxprice=" + GetPriceData(minPrice, 2, interval) + ">" + "<span class=\"cssClassFormatCurrency\">" + GetPriceDataFloat(minPrice + decimal.Parse("0.01"), 1, interval) + "</span>" + " - " + "<span class=\"cssClassFormatCurrency\">" + GetPriceDataFloat(minPrice, 2, interval) + "</span>" + "</a></li>" : "");
                elem.Append(GetPriceData(minPrice + decimal.Parse("0.01"), 1, interval) != GetPriceData(minPrice + decimal.Parse("0.01"), 2, interval) && GetPriceData(minPrice, 2, interval) != GetPriceData(minPrice, 3, interval) ? "<li><a id=\"f3\" href=\"#\"  minprice=" + GetPriceData(minPrice + decimal.Parse("0.01"), 2, interval) + " maxprice=" + GetPriceData(minPrice, 3, interval) + ">" + "<span class=\"cssClassFormatCurrency\">" + GetPriceDataFloat(minPrice + decimal.Parse("0.01"), 2, interval) + "</span>" + " - " + "<span class=\"cssClassFormatCurrency\">" + GetPriceDataFloat(minPrice, 3, interval) + "</span>" + "</a></li>" : "");
                elem.Append(GetPriceData(minPrice, 3, interval) != maxPrice.ToString("N2") ? "<li><a id=\"f4\" href=\"#\"  minprice=" + GetPriceData(minPrice + decimal.Parse("0.01"), 3, interval) + " maxprice=" + maxPrice + ">" + "<span class=\"cssClassFormatCurrency\">" + GetPriceDataFloat(minPrice + decimal.Parse("0.01"), 3, interval) + "</span>" + " - " + "<span class=\"cssClassFormatCurrency\">" + maxPrice.ToString("N2") + "</span>" + "</a></li>" : "");
            }
            if (arrPrice.Count == 1)
            {
                elem.Append("<li><a id=\"f1\" href=\"#\"   minprice=");
                elem.Append(GetPriceData(minPrice, 0, interval));
                elem.Append(" maxprice=");
                elem.Append(GetPriceData(minPrice, 1, interval));
                elem.Append(">");
                elem.Append("<span class=\"cssClassFormatCurrency\">");
                elem.Append(minPrice.ToString("N2"));
                elem.Append("</span>");
                elem.Append("</a></li>");
                minPrice = 0;
            }

            elem.Append("</ul></div>");
            elem.Append("<div class=\"divRange\"><div id=\"slider-range\"></div>");
            elem.Append("<p><b style=\"color: #006699\">");
            elem.Append(getLocale("Range: "));
            elem.Append("<span id=\"amount\">");
            elem.Append("<span class=\"cssClassFormatCurrency\">");
            elem.Append(minPrice.ToString("N2"));
            elem.Append("</span>");
            elem.Append(" - ");
            elem.Append("<span class=\"cssClassFormatCurrency\">");
            elem.Append(maxPrice.ToString("N2"));
            elem.Append("</span>");
            elem.Append("</span></b></p>");
            elem.Append("</div></div>");
            //string script = GetStringScript(scriptExecute.ToString());
            //elem.Append(script);
            return(elem.ToString());
        }
        return(string.Empty);
    }
コード例 #8
0
    public void GetAllSubCategoryForFilter(AspxCommonInfo aspxCommonObj)
    {
        string resolvedUrl = ResolveUrl("~/");
        string modulePath  = this.AppRelativeTemplateSourceDirectory;

        hst = AppLocalized.getLocale(modulePath);
        string  aspxTemplateFolderPath = resolvedUrl + "Templates/" + TemplateName;
        DataSet ds = AspxFilterController.GetCategoryDetailInfoForFilter(Categorykey, aspxCommonObj);

        if (ds != null && ds.Tables != null && ds.Tables.Count > 0)
        {
            StringBuilder elem = new StringBuilder();
            DataTable     dtSubCatWithItems = ds.Tables[0];
            elem.Append("<div class=\"filter\">");
            if (dtSubCatWithItems != null && dtSubCatWithItems.Rows.Count > 0)
            {
                elem.Append("<div id=\"divCat\" value=\"b01\" class=\"cssClasscategorgy\">");
                elem.Append("<div class=\"divTitle\"><b><label style=\"color:#006699\">");
                elem.Append(getLocale("Categories"));
                elem.Append("</label></b><img align=\"right\" src=\"");
                elem.Append(aspxTemplateFolderPath);
                elem.Append("/images/arrow_up.png\"/></div> <div id=\"scrollbar1\" class=\"cssClassScroll\"><div class=\"viewport\"><div class=\"overview\" id=\"catOverview\"><div class=\"divContentb01\"><ul id=\"cat\">");
                for (int i = 0; i < dtSubCatWithItems.Rows.Count; i++)
                {
                    elem.Append("<li><label><input class=\"chkCategory\" type=\"checkbox\" name=\"");
                    elem.Append(dtSubCatWithItems.Rows[i]["CategoryName"]);
                    elem.Append("\" ids=\"");
                    elem.Append(dtSubCatWithItems.Rows[i]["CategoryID"]);
                    elem.Append("\" value=\"");
                    elem.Append(dtSubCatWithItems.Rows[i]["CategoryName"]);
                    elem.Append("\"/> ");
                    elem.Append(dtSubCatWithItems.Rows[i]["CategoryName"]);
                    elem.Append("<span> (");
                    elem.Append(dtSubCatWithItems.Rows[i]["ItemCount"]);
                    elem.Append(")</span></label></li>");
                }
                elem.Append("</ul></div></div></div></div></div>");
            }

            string brandFilter = GetAllBrandForCategory(aspxCommonObj);
            elem.Append(brandFilter);
            elem.Append("</div>");
            ltrFilter.Text = elem.ToString();

            DataTable dtCatSlider = ds.Tables[1];
            if (dtCatSlider != null && dtCatSlider.Rows.Count > 0)
            {
                string        Imagelist         = string.Empty;
                StringBuilder strCatHeadSlider  = new StringBuilder();
                StringBuilder strCatHeadScript  = new StringBuilder();
                bool          isNoCategoryImage = false;
                string        categoryImagePath = "Modules/AspxCommerce/AspxCategoryManagement/uploads/";
                int           imgCount          = 0;
                strCatHeadSlider.Append("<div id=\"divHeader\" class=\"cssClassSlider\" style=\"display: none;\">");

                strCatHeadSlider.Append("<div id=\"slider-container\"><div id=\"sliderObj\" class=\"cat-slideshow-wrap\">");
                strCatHeadSlider.Append("<div class=\"cat_Slides cat-slide-container\">");

                for (int i = 0; i < dtCatSlider.Rows.Count; i++)
                {
                    if (dtCatSlider.Rows[i]["CategoryImage"].ToString() != string.Empty)
                    {
                        string[] imgUrlSegments = dtCatSlider.Rows[i]["CategoryImage"].ToString().Split('/');
                        string   imgToBeAdded   = imgUrlSegments[imgUrlSegments.Length - 1] + ';';
                        Imagelist        += imgToBeAdded;
                        isNoCategoryImage = true;
                        string catDesc = dtCatSlider.Rows[i]["CategoryShortDesc"].ToString();

                        if (catDesc.Length > 300)
                        {
                            catDesc = catDesc.Substring(0, 300);
                            int index = 0;
                            index   = catDesc.LastIndexOf(' ');
                            catDesc = catDesc.Substring(0, index);
                            catDesc = catDesc + "...";
                        }

                        //check for this
                        string href = resolvedUrl + "category/" + AspxUtility.fixedEncodeURIComponent(dtCatSlider.Rows[i]["CategoryName"].ToString()) + SageFrameSettingKeys.PageExtension;
                        imgCount++;
                        string catImagePath = dtCatSlider.Rows[i]["CategoryImage"].ToString();
                        strCatHeadSlider.Append("<div class=\"cat-slide-container-inner\"><div class=\"cssCatImage\"><a href=");
                        strCatHeadSlider.Append(href);
                        strCatHeadSlider.Append("><img src='");
                        strCatHeadSlider.Append(resolvedUrl);
                        strCatHeadSlider.Append(categoryImagePath);
                        strCatHeadSlider.Append(catImagePath);
                        strCatHeadSlider.Append("' alt='");
                        strCatHeadSlider.Append(dtCatSlider.Rows[i]["CategoryName"]);
                        strCatHeadSlider.Append("' title='");
                        strCatHeadSlider.Append(dtCatSlider.Rows[i]["CategoryName"]);
                        strCatHeadSlider.Append("' /></a></div><div class=\"cssCatDesc\"><span>");
                        strCatHeadSlider.Append(dtCatSlider.Rows[i]["CategoryName"]);
                        strCatHeadSlider.Append("</span><p>");
                        strCatHeadSlider.Append(catDesc);
                        strCatHeadSlider.Append("</p></div></div>");
                    }
                }
                if (isNoCategoryImage)
                {
                    InterceptImageController objImageResize = new InterceptImageController();
                    objImageResize.DynamicImageResizer(Imagelist, "Medium", "Category", aspxCommonObj);
                }
                strCatHeadSlider.Append("</div>");
                strCatHeadSlider.Append("<div class=\"slideshow-progress-bar-wrap\" style=\"display: none;\">");
                strCatHeadSlider.Append("<div class=\"highlight-bar\">");
                strCatHeadSlider.Append("<div class=\"edge left\"></div><div class=\"edge right\"></div>");
                strCatHeadSlider.Append("</div><div class=\"slideshow-progress-bar\"></div></div></div></div>");
                strCatHeadSlider.Append("</div>");
                strCatHeadScript.Append("$('#divHeader').show();");
                if (imgCount > 1)
                {
                    strCatHeadScript.Append("var catSlideshowWrap = jQuery('#slider-container').find('#sliderObj');");
                    strCatHeadScript.Append("var catSlidesContainer = catSlideshowWrap.find('div.cat-slide-container');");
                    strCatHeadScript.Append("var catSlides = catSlidesContainer.children('div');");
                    strCatHeadScript.Append("var pager = catSlideshowWrap.find('div.slideshow-progress-bar-wrap div.slideshow-progress-bar');");
                    strCatHeadScript.Append("var highlightBar = catSlideshowWrap.find('div.highlight-bar');");
                    strCatHeadScript.Append("var pagerMarkup = new Array();");
                    strCatHeadScript.Append("var pagerElPercentW = 1 / catSlides.length * 100;");
                    strCatHeadScript.Append("catSlides.each(function (i) {");
                    strCatHeadScript.Append("var oneBasedIndex = i + 1;");
                    strCatHeadScript.Append("pagerMarkup.push('<div class=pagerLink style=width: ' + pagerElPercentW + '%;><div class=pager' + oneBasedIndex + '></div></div>');");
                    strCatHeadScript.Append("});");
                    strCatHeadScript.Append("pager.append(pagerMarkup.join(''));");
                    strCatHeadScript.Append("highlightBar.css('width', pagerElPercentW + '%');");
                    strCatHeadScript.Append("var TRANSITION_SPEED = 500;");
                    strCatHeadScript.Append("catSlidesContainer.cycle({");
                    strCatHeadScript.Append("activePagerClass: 'active',");
                    strCatHeadScript.Append("before: function (curr, next, opts) {");
                    strCatHeadScript.Append("highlightBar.stop(true).animate(");
                    strCatHeadScript.Append("{");
                    strCatHeadScript.Append("'left': pager.find('div.pagerLink').eq(jQuery(next).index()).position().left");
                    strCatHeadScript.Append("},");
                    strCatHeadScript.Append("TRANSITION_SPEED");
                    strCatHeadScript.Append(");");
                    strCatHeadScript.Append("},");
                    strCatHeadScript.Append("fx: 'fade',");
                    strCatHeadScript.Append("speed: TRANSITION_SPEED,");
                    strCatHeadScript.Append("timeout: 5000,");
                    strCatHeadScript.Append("pause: 1,");
                    strCatHeadScript.Append("pauseOnPagerHover: 1,");
                    strCatHeadScript.Append("pager: '#slider-container #sliderObj div.slideshow-progress-bar-wrap div.slideshow-progress-bar',");
                    strCatHeadScript.Append("pagerAnchorBuilder: function (idx, slide) {");
                    strCatHeadScript.Append("return '#slider-container #sliderObj div.slideshow-progress-bar-wrap div.slideshow-progress-bar div.pagerLink:eq(' + idx + ')';");
                    strCatHeadScript.Append("},");
                    strCatHeadScript.Append("pagerEvent: 'mouseenter.cycle'");
                    strCatHeadScript.Append("});");
                    strCatHeadScript.Append("$('.slideshow-progress-bar-wrap').show();");
                    strCatHeadScript.Append("}");
                }
                if (!isNoCategoryImage)
                {
                    strCatHeadScript.Append(" $('#divHeader').remove();");
                }
                string script = GetStringScript(strCatHeadScript.ToString());
                strCatHeadSlider.Append(script);
                ltrCatSlider.Text = strCatHeadSlider.ToString();
            }
        }
    }