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(); } }