protected int GetProductCount(object dataItem) { DigitalGood m = (DigitalGood)dataItem; if (_ProductCounts.ContainsKey(m.Id)) { return(_ProductCounts[m.Id]); } int count = ProductDigitalGoodDataSource.CountForDigitalGood(m.Id); _ProductCounts[m.Id] = count; return(count); }
protected void VariantGrid_ItemCreated(object sender, RepeaterItemEventArgs e) { if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem) { PlaceHolder phVariantRow = e.Item.FindControl("phVariantRow") as PlaceHolder; if (phVariantRow != null) { ProductVariant variant = (ProductVariant)e.Item.DataItem; int variantIndex = _VariantManager.IndexOf(variant); string optionList = variant.OptionList; StringBuilder rowBuilder = new StringBuilder(); //DRAW THE DATA ROW string rowClass = (e.Item.ItemType == ListItemType.Item) ? "oddRow" : "evenRow"; rowBuilder.Append("<tr class=\"" + rowClass + "\">\r\n"); rowBuilder.Append("<td align=\"center\">" + (variantIndex + 1) + "</td>\r\n"); rowBuilder.Append("<td>" + variant.VariantName + "</td>\r\n"); rowBuilder.Append("<td>"); //BUILD TABLE OF EXISTING DIGITAL GOODS IList <ProductDigitalGood> variantDigitalGoods = ProductDigitalGoodDataSource.LoadForVariant(this.ProductId, optionList); if (variantDigitalGoods.Count > 0) { phVariantRow.Controls.Add(new LiteralControl(rowBuilder.ToString())); foreach (ProductDigitalGood pdg in variantDigitalGoods) { string digitalGoodName = pdg.DigitalGood.Name; string linkedName = string.Format("<a href=\"../../DigitalGoods/EditDigitalGood.aspx?CategoryId={0}&ProductId={1}&DigitalGoodId={2}\">" + digitalGoodName + "</a>", CategoryId, ProductId, pdg.DigitalGoodId); phVariantRow.Controls.Add(new LiteralControl("<b>" + linkedName + "</b> " + GetFileSize(pdg.DigitalGood) + " ")); HyperLink downloadLink = new HyperLink(); downloadLink.NavigateUrl = "../../DigitalGoods/Download.ashx?DigitalGoodId=" + pdg.DigitalGoodId; downloadLink.EnableViewState = false; Image downloadIcon = new Image(); downloadIcon.AlternateText = "Download"; downloadIcon.ToolTip = "Download"; downloadIcon.SkinID = "DownloadIcon"; downloadIcon.EnableViewState = false; downloadLink.Controls.Add(downloadIcon); phVariantRow.Controls.Add(downloadLink); ImageButton detachButton = new ImageButton(); detachButton.ID = "D" + pdg.Id.ToString(); detachButton.AlternateText = "Delete"; detachButton.ToolTip = "Delete"; detachButton.SkinID = "DeleteIcon"; detachButton.Click += new ImageClickEventHandler(detachButton_Click); detachButton.OnClientClick = string.Format("return confirm(\"Are you sure you want to remove {0} from this product?\")", digitalGoodName); detachButton.EnableViewState = false; phVariantRow.Controls.Add(detachButton); phVariantRow.Controls.Add(new LiteralControl("<br />")); } rowBuilder = new StringBuilder(); } rowBuilder.Append("<a href=\"AttachDigitalGood.aspx?ProductId=" + this.ProductId + "&Options=" + Server.UrlEncode(EncryptionHelper.EncryptAES(optionList)) + "\" class=\"button\">Add</a>"); rowBuilder.Append("</td>\r\n"); /* * rowBuilder.Append("<td>"); * rowBuilder.Append("<a href=\"AttachDigitalGood.aspx?ProductId=" + this.ProductId + "&Options=" + Server.UrlEncode(EncryptionHelper.EncryptAES(optionList)) + "\" Title=\"Attach Digital Good\">"); * phVariantRow.Controls.Add(new LiteralControl(rowBuilder.ToString())); * Image addIcon = new Image(); * addIcon.SkinID = "AddIcon"; * phVariantRow.Controls.Add(addIcon); * rowBuilder = new StringBuilder(); * rowBuilder.Append("</a></td>\r\n"); * rowBuilder.Append("</tr>\r\n"); */ phVariantRow.Controls.Add(new LiteralControl(rowBuilder.ToString())); } } }
protected void BindDigitalGoodsGrid() { DigitalGoodsGrid.DataSource = ProductDigitalGoodDataSource.LoadForVariant(this.ProductId, string.Empty); DigitalGoodsGrid.DataBind(); }