private void BindData() { Product product = ProductManager.GetProductById(this.ProductId); if (product != null) { pnlData.Visible = true; pnlMessage.Visible = false; var productSpecificationAttributes = SpecificationAttributeManager.GetProductSpecificationAttributesByProductId(product.ProductId); if (productSpecificationAttributes.Count > 0) { gvProductSpecificationAttributes.Visible = true; gvProductSpecificationAttributes.DataSource = productSpecificationAttributes; gvProductSpecificationAttributes.DataBind(); } else { gvProductSpecificationAttributes.Visible = false; } } else { pnlData.Visible = false; pnlMessage.Visible = true; } }
protected void BindData() { var product = ProductManager.GetProductById(this.ProductId); if (product != null) { var productSpecificationAttributes = SpecificationAttributeManager.GetProductSpecificationAttributesByProductId(product.ProductId, null, true); if (productSpecificationAttributes.Count > 0) { this.Visible = true; rptrProductSpecification.DataSource = productSpecificationAttributes; rptrProductSpecification.DataBind(); } else { this.Visible = false; } } else { this.Visible = false; } }
protected void GenerateCompareTable() { this.tblCompareProducts.Rows.Clear(); this.tblCompareProducts.Width = "100%"; var compareProducts = ProductManager.GetCompareProducts(); if (compareProducts.Count > 0) { var headerRow = new HtmlTableRow(); this.AddCell(headerRow, " "); var productNameRow = new HtmlTableRow(); this.AddCell(productNameRow, " "); var priceRow = new HtmlTableRow(); var cell = new HtmlTableCell(); cell.InnerText = GetLocaleResourceString("Products.CompareProductsPrice"); cell.Align = "center"; priceRow.Cells.Add(cell); var specificationAttributeIds = new List <int>(); foreach (var product in compareProducts) { var productSpecificationAttributes = SpecificationAttributeManager.GetProductSpecificationAttributesByProductId(product.ProductId, null, true); foreach (var attribute in productSpecificationAttributes) { if (!specificationAttributeIds.Contains(attribute.SpecificationAttribute.SpecificationAttributeId)) { specificationAttributeIds.Add(attribute.SpecificationAttribute.SpecificationAttributeId); } } } foreach (var product in compareProducts) { var headerCell = new HtmlTableCell(); var headerCellDiv = new HtmlGenericControl("div"); var btnRemoveFromList = new Button(); btnRemoveFromList.ToolTip = GetLocaleResourceString("Products.CompareProductsRemoveFromList"); btnRemoveFromList.Text = GetLocaleResourceString("Products.CompareProductsRemoveFromList"); btnRemoveFromList.CommandName = "Remove"; btnRemoveFromList.Command += new CommandEventHandler(this.btnRemoveFromList_Command); btnRemoveFromList.CommandArgument = product.ProductId.ToString(); btnRemoveFromList.CausesValidation = false; btnRemoveFromList.CssClass = "remove-button"; btnRemoveFromList.ID = "btnRemoveFromList" + product.ProductId.ToString(); headerCellDiv.Controls.Add(btnRemoveFromList); var productImagePanel = new HtmlGenericControl("p"); productImagePanel.Attributes.Add("align", "center"); var productImage = new HtmlImage(); productImage.Border = 0; //productImage.Align = "center"; productImage.Alt = "Product image"; var picture = product.DefaultPicture; if (picture != null) { productImage.Src = PictureManager.GetPictureUrl(picture, SettingManager.GetSettingValueInteger("Media.Product.ThumbnailImageSize", 125), true); } else { productImage.Src = PictureManager.GetDefaultPictureUrl(SettingManager.GetSettingValueInteger("Media.Product.ThumbnailImageSize", 125)); } productImagePanel.Controls.Add(productImage); headerCellDiv.Controls.Add(productImagePanel); headerCell.Controls.Add(headerCellDiv); headerRow.Cells.Add(headerCell); var productNameCell = new HtmlTableCell(); var productLink = new HyperLink(); productLink.Text = Server.HtmlEncode(product.LocalizedName); productLink.NavigateUrl = SEOHelper.GetProductUrl(product); productLink.Attributes.Add("class", "link"); productNameCell.Align = "center"; productNameCell.Controls.Add(productLink); productNameRow.Cells.Add(productNameCell); var priceCell = new HtmlTableCell(); priceCell.Align = "center"; var productVariantCollection = product.ProductVariants; if (productVariantCollection.Count > 0) { var productVariant = productVariantCollection[0]; decimal taxRate = decimal.Zero; decimal finalPriceWithoutDiscountBase = TaxManager.GetPrice(productVariant, PriceHelper.GetFinalPrice(productVariant, false), out taxRate); decimal finalPriceWithoutDiscount = CurrencyManager.ConvertCurrency(finalPriceWithoutDiscountBase, CurrencyManager.PrimaryStoreCurrency, NopContext.Current.WorkingCurrency); priceCell.InnerText = PriceHelper.FormatPrice(finalPriceWithoutDiscount); } priceRow.Cells.Add(priceCell); } productNameRow.Attributes.Add("class", "product-name"); priceRow.Attributes.Add("class", "productPrice"); this.tblCompareProducts.Rows.Add(headerRow); this.tblCompareProducts.Rows.Add(productNameRow); if (!SettingManager.GetSettingValueBoolean("Common.HidePricesForNonRegistered") || (NopContext.Current.User != null && !NopContext.Current.User.IsGuest)) { this.tblCompareProducts.Rows.Add(priceRow); } foreach (int specificationAttributeId in specificationAttributeIds) { var specificationAttribute = SpecificationAttributeManager.GetSpecificationAttributeById(specificationAttributeId); var productRow = new HtmlTableRow(); this.AddCell(productRow, Server.HtmlEncode(specificationAttribute.LocalizedName)).Align = "left"; foreach (var product2 in compareProducts) { var productCell = new HtmlTableCell(); { var productSpecificationAttributes2 = SpecificationAttributeManager.GetProductSpecificationAttributesByProductId(product2.ProductId, null, true); foreach (var psa2 in productSpecificationAttributes2) { if (specificationAttribute.SpecificationAttributeId == psa2.SpecificationAttribute.SpecificationAttributeId) { productCell.InnerHtml = (!String.IsNullOrEmpty(psa2.SpecificationAttributeOption.LocalizedName)) ? Server.HtmlEncode(psa2.SpecificationAttributeOption.LocalizedName) : " "; } } } productCell.Align = "center"; productCell.VAlign = "top"; productRow.Cells.Add(productCell); } this.tblCompareProducts.Rows.Add(productRow); } string width = Math.Round((decimal)(90M / compareProducts.Count), 0).ToString() + "%"; for (int i = 0; i < this.tblCompareProducts.Rows.Count; i++) { var row = this.tblCompareProducts.Rows[i]; for (int j = 1; j < row.Cells.Count; j++) { if (j == (row.Cells.Count - 1)) { row.Cells[j].Style.Add("width", width); row.Cells[j].Style.Add("text-align", "center"); } else { row.Cells[j].Style.Add("width", width); row.Cells[j].Style.Add("text-align", "center"); } } } } else { btnClearCompareProductsList.Visible = false; tblCompareProducts.Visible = false; } }