Exemple #1
0
    private void GetAspxTemplates()
    {
        AspxTemplateValue = AspxGetTemplates.GetAspxTemplateKeyValue();

        foreach (AspxTemplateKeyValue value in AspxTemplateValue)
        {
            string xx = value.TemplateKey + "@" + value.TemplateValue;
            Page.ClientScript.RegisterArrayDeclaration("jsTemplateArray", "\'" + xx + "\'");
        }
    }
    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();
        }
    }