コード例 #1
0
        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>&nbsp;&nbsp;" + GetFileSize(pdg.DigitalGood) + "&nbsp;&nbsp;"));
                            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()));
                }
            }
        }
コード例 #2
0
        protected void VariantGrid_ItemCreated(object sender, RepeaterItemEventArgs e)
        {
            // GET THE ICON PATH
            if (string.IsNullOrEmpty(_IconPath))
            {
                _IconPath = AbleCommerce.Code.PageHelper.GetAdminThemeIconPath(this.Page);
            }
            if (e.Item.ItemType == ListItemType.Header)
            {
                PlaceHolder phVariantHeader = e.Item.FindControl("phVariantHeader") as PlaceHolder;

                if (phVariantHeader != null)
                {
                    StringBuilder headerBuilder = new StringBuilder();
                    if (names.Contains("SKU"))
                    {
                        headerBuilder.Append("<th>SKU</th>");
                    }
                    if (names.Contains("GTIN"))
                    {
                        headerBuilder.Append("<th>GTIN</th>");
                    }
                    if (names.Contains("Price"))
                    {
                        headerBuilder.Append("<th>Price</th>");
                    }
                    if (names.Contains("Retail"))
                    {
                        headerBuilder.Append("<th>Retail</th>");
                    }
                    if (names.Contains("Model"))
                    {
                        headerBuilder.Append("<th>Model #</th>");
                    }
                    if (names.Contains("Dimensions"))
                    {
                        headerBuilder.Append("<th>Dimensions</th>");
                    }
                    if (names.Contains("HandlingCharges"))
                    {
                        headerBuilder.Append("<th>Special Handling Charges</th>");
                    }
                    if (names.Contains("Weight"))
                    {
                        headerBuilder.Append("<th>Weight</th>");
                    }
                    if (names.Contains("COGS"))
                    {
                        headerBuilder.Append("<th>COGS</th>");
                    }
                    if (names.Contains("Available"))
                    {
                        headerBuilder.Append("<th>Available</th>");
                    }
                    if (_ShowInventory)
                    {
                        if (names.Contains("InStock"))
                        {
                            headerBuilder.Append("<th>In Stock</th>");
                        }
                        if (names.Contains("Availability"))
                        {
                            headerBuilder.Append("<th>Availability Date</th>");
                        }
                        if (names.Contains("LowStock"))
                        {
                            headerBuilder.Append("<th>Low Stock</th>");
                        }
                    }
                    if (names.Contains("Image"))
                    {
                        headerBuilder.Append("<th>Image</th>");
                    }
                    if (names.Contains("Thumbnail"))
                    {
                        headerBuilder.Append("<th>Thumbnail</th>");
                    }
                    if (names.Contains("Icon"))
                    {
                        headerBuilder.Append("<th>Icon</th>");
                    }
                    phVariantHeader.Controls.Add(new LiteralControl(headerBuilder.ToString()));
                }
            }
            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);
                    StringBuilder  rowBuilder         = new StringBuilder();
                    string         skuKey             = "V_" + variantIndex.ToString() + "S";
                    string         gtinKey            = "V_" + variantIndex.ToString() + "G";
                    string         priceKey           = "V_" + variantIndex.ToString() + "P";
                    string         retailKey          = "V_" + variantIndex.ToString() + "RT";
                    string         modelKey           = "V_" + variantIndex.ToString() + "M";
                    string         lengthKey          = "V_" + variantIndex.ToString() + "L";
                    string         widthKey           = "V_" + variantIndex.ToString() + "WI";
                    string         heightKey          = "V_" + variantIndex.ToString() + "H";
                    string         handlingChargesKey = "V_" + variantIndex.ToString() + "SH";
                    string         priceModKey        = "V_" + variantIndex.ToString() + "PM";
                    string         weightKey          = "V_" + variantIndex.ToString() + "W";
                    string         weightModKey       = "V_" + variantIndex.ToString() + "WM";
                    string         cogsKey            = "V_" + variantIndex.ToString() + "C";
                    string         availKey           = "V_" + variantIndex.ToString() + "A";
                    string         instockKey         = "V_" + variantIndex.ToString() + "I";
                    string         availDateKey       = "V_" + variantIndex.ToString() + "AD";
                    string         restockKey         = "V_" + variantIndex.ToString() + "R";
                    string         imageKey           = "V_" + variantIndex.ToString() + "IMG";
                    string         thumbKey           = "V_" + variantIndex.ToString() + "THU";
                    string         iconKey            = "V_" + variantIndex.ToString() + "ICO";

                    //CHECK IF THIS VARIANT IS IN FORM POST
                    if (_FormValues.Any(v => v.Key.StartsWith("V_" + variantIndex.ToString())))
                    {
                        //UPDATE THE VALUES BASED ON THE FORM POST
                        if (_FormValues.ContainsKey(skuKey))
                        {
                            variant.Sku = SafeTryGetValue(_FormValues, skuKey);
                        }
                        if (_FormValues.ContainsKey(gtinKey))
                        {
                            variant.GTIN = SafeTryGetValue(_FormValues, gtinKey);
                        }
                        if (_FormValues.ContainsKey(priceKey))
                        {
                            variant.Price = AlwaysConvert.ToDecimal(SafeTryGetValue(_FormValues, priceKey));
                        }
                        if (_FormValues.ContainsKey(retailKey))
                        {
                            variant.MSRP = AlwaysConvert.ToDecimal(SafeTryGetValue(_FormValues, retailKey));
                        }
                        if (_FormValues.ContainsKey(priceModKey))
                        {
                            variant.PriceModeId = AlwaysConvert.ToByte(SafeTryGetValue(_FormValues, priceModKey));
                        }
                        if (_FormValues.ContainsKey(modelKey))
                        {
                            variant.ModelNumber = SafeTryGetValue(_FormValues, modelKey);
                        }
                        if (_FormValues.ContainsKey(lengthKey))
                        {
                            variant.Length = AlwaysConvert.ToDecimal(SafeTryGetValue(_FormValues, lengthKey));
                        }
                        if (_FormValues.ContainsKey(widthKey))
                        {
                            variant.Width = AlwaysConvert.ToDecimal(SafeTryGetValue(_FormValues, widthKey));
                        }
                        if (_FormValues.ContainsKey(heightKey))
                        {
                            variant.Height = AlwaysConvert.ToDecimal(SafeTryGetValue(_FormValues, heightKey));
                        }
                        if (_FormValues.ContainsKey(handlingChargesKey))
                        {
                            variant.HandlingCharges = AlwaysConvert.ToDecimal(SafeTryGetValue(_FormValues, handlingChargesKey));
                        }
                        if (_FormValues.ContainsKey(weightKey))
                        {
                            variant.Weight = AlwaysConvert.ToDecimal(SafeTryGetValue(_FormValues, weightKey));
                        }
                        if (_FormValues.ContainsKey(weightModKey))
                        {
                            variant.WeightModeId = AlwaysConvert.ToByte(SafeTryGetValue(_FormValues, weightModKey));
                        }
                        if (_FormValues.ContainsKey(cogsKey))
                        {
                            variant.CostOfGoods = AlwaysConvert.ToDecimal(SafeTryGetValue(_FormValues, cogsKey));
                        }
                        if (_FormValues.ContainsKey(availKey))
                        {
                            variant.Available = (SafeTryGetValue(_FormValues, availKey) == "1,0");
                        }
                        if (_FormValues.ContainsKey(imageKey))
                        {
                            variant.ImageUrl = SafeTryGetValue(_FormValues, imageKey);
                        }
                        if (_FormValues.ContainsKey(thumbKey))
                        {
                            variant.ThumbnailUrl = SafeTryGetValue(_FormValues, thumbKey);
                        }
                        if (_FormValues.ContainsKey(iconKey))
                        {
                            variant.IconUrl = SafeTryGetValue(_FormValues, iconKey);
                        }

                        if (_ShowInventory)
                        {
                            if (_FormValues.ContainsKey(instockKey))
                            {
                                variant.InStock = AlwaysConvert.ToInt(SafeTryGetValue(_FormValues, instockKey));
                            }
                            if (_FormValues.ContainsKey(availDateKey))
                            {
                                variant.AvailabilityDate = AlwaysConvert.ToDateTime(SafeTryGetValue(_FormValues, availDateKey), DateTime.MinValue);
                            }
                            if (_FormValues.ContainsKey(restockKey))
                            {
                                variant.InStockWarningLevel = AlwaysConvert.ToInt(SafeTryGetValue(_FormValues, restockKey));
                            }
                        }
                    }

                    //DRAW THE DATA ROW
                    string rowClass         = (e.Item.ItemType == ListItemType.Item) ? "oddRow" : "evenRow";
                    string autoExpand       = selectedCount > 9 ? "noExpand" : "expandColumns";
                    string smallExpands     = selectedCount > 9 ? "nosmallExpand" : "expandSmallColumns";
                    string overrideSelected = string.Empty;

                    rowBuilder.Append("<tr class=\"" + rowClass + "\">\r\n");
                    rowBuilder.Append("<td>" + (variantIndex + 1) + "</td>\r\n");
                    rowBuilder.Append("<td>" + variant.VariantName + "</td>\r\n");
                    if (names.Contains("SKU"))
                    {
                        rowBuilder.Append("<td align=\"center\"><input name=\"" + skuKey + "\" type=\"text\" value=\"" + variant.Sku + "\" class= \"" + autoExpand + "\" /></td>\r\n");
                    }
                    if (names.Contains("GTIN"))
                    {
                        rowBuilder.Append("<td align=\"center\"><input name=\"" + gtinKey + "\" type=\"text\" value=\"" + variant.GTIN + "\" class= \"" + autoExpand + "\" /></td>\r\n");
                    }
                    if (names.Contains("Price"))
                    {
                        rowBuilder.Append("<td align=\"center\"><input name=\"" + priceKey + "\" type=\"text\" value=\"" + variant.Price.LSCurrencyFormat("F2") + "\" class= \"" + smallExpands + "\" />");
                        overrideSelected = (variant.PriceMode == ModifierMode.Modify) ? string.Empty : " selected";
                        rowBuilder.Append("<select name=\"" + priceModKey + "\"><option value=\"0\">Modify</option><option value=\"1\"" + overrideSelected + ">Override</option></select></td>\r\n");
                    }
                    if (names.Contains("Retail"))
                    {
                        rowBuilder.Append("<td align=\"center\"><input name=\"" + retailKey + "\" type=\"text\" value=\"" + variant.MSRP.LSCurrencyFormat("F2") + "\" class= \"" + smallExpands + "\" />");
                    }
                    if (names.Contains("Model"))
                    {
                        rowBuilder.Append("<td align=\"center\"><input name=\"" + modelKey + "\" type=\"text\" value=\"" + variant.ModelNumber + "\" class= \"" + autoExpand + "\" />");
                    }
                    if (names.Contains("Dimensions"))
                    {
                        rowBuilder.Append("<td align=\"center\">L <input name=\"" + lengthKey + "\" type=\"text\" value=\"" + variant.Length.LSCurrencyFormat("F2") + "\" style=\"width:46px;\" />");
                        rowBuilder.Append("W <input name=\"" + widthKey + "\" type=\"text\" value=\"" + variant.Width.LSCurrencyFormat("F2") + "\" style=\"width:46px;\" />");
                        rowBuilder.Append("H <input name=\"" + heightKey + "\" type=\"text\" value=\"" + variant.Height.LSCurrencyFormat("F2") + "\" style=\"width:46px;\" />");
                    }
                    if (names.Contains("HandlingCharges"))
                    {
                        rowBuilder.Append("<td align=\"center\"><input name=\"" + handlingChargesKey + "\" type=\"text\" value=\"" + variant.HandlingCharges.LSCurrencyFormat("F2") + "\" class= \"" + smallExpands + "\" />");
                    }
                    if (names.Contains("Weight"))
                    {
                        rowBuilder.Append("<td align=\"center\"><input name=\"" + weightKey + "\" type=\"text\" value=\"" + variant.Weight.LSCurrencyFormat("F2") + "\" class= \"" + smallExpands + "\" />");
                        overrideSelected = (variant.WeightMode == ModifierMode.Modify) ? string.Empty : " selected";
                        rowBuilder.Append("<select name=\"" + weightModKey + "\"><option value=\"0\">Modify</option><option value=\"1\"" + overrideSelected + ">Override</option></select></td>\r\n");
                    }
                    if (names.Contains("COGS"))
                    {
                        rowBuilder.Append("<td align=\"center\"><input name=\"" + cogsKey + "\" type=\"text\" value=\"" + variant.CostOfGoods.LSCurrencyFormat("F2") + "\" class= \"" + smallExpands + "\" /></td>\r\n");
                    }
                    string checkedAttribute = string.Empty;
                    if (names.Contains("Available"))
                    {
                        if (variant.Available)
                        {
                            checkedAttribute = " checked=\"true\"";
                        }
                        rowBuilder.Append("<td align=\"center\"><input name=\"" + availKey + "\" type=\"checkbox\"" + checkedAttribute + " value=\"1\" /><input name=\"" + availKey + "\" type=\"hidden\"" + checkedAttribute + " value=\"0\" /></td>");
                    }
                    if (_ShowInventory)
                    {
                        if (names.Contains("InStock"))
                        {
                            rowBuilder.Append("<td align=\"center\"><input name=\"" + instockKey + "\" type=\"text\" value=\"" + variant.InStock.ToString("F0") + "\" class= \"" + smallExpands + "\" /></td>\r\n");
                        }
                        if (names.Contains("Availability"))
                        {
                            rowBuilder.Append("<td align=\"center\"><input name=\"" + availDateKey + "\" type=\"text\" value=\"" + ((variant.AvailabilityDate.HasValue && variant.AvailabilityDate != DateTime.MinValue) ? variant.AvailabilityDate.Value.ToShortDateString() : string.Empty) + "\" style=\"width:90px;\" class=\"pickerAndCalendar\" /></td>\r\n");
                        }
                        if (names.Contains("LowStock"))
                        {
                            rowBuilder.Append("<td align=\"center\"><input name=\"" + restockKey + "\" type=\"text\" value=\"" + variant.InStockWarningLevel.ToString("F0") + "\" class= \"" + smallExpands + "\" /></td>\r\n");
                        }
                    }
                    if (names.Contains("Image"))
                    {
                        rowBuilder.Append("<td align=\"center\"><input name=\"" + imageKey + "\" type=\"text\" value=\"" + variant.ImageUrl + "\" class= \"" + autoExpand + "\" /><input name=\"" + imageKey + "B\" alt=\"Browse\" onclick=\"return PickImage('" + imageKey + "');\" type=\"image\" align=\"absmiddle\" src=\"" + _IconPath + "find.gif\" /></td>\r\n");
                    }
                    if (names.Contains("Thumbnail"))
                    {
                        rowBuilder.Append("<td align=\"center\"><input name=\"" + thumbKey + "\" type=\"text\" value=\"" + variant.ThumbnailUrl + "\" class= \"" + autoExpand + "\" /><input name=\"" + thumbKey + "B\" alt=\"Browse\" onclick=\"return PickImage('" + thumbKey + "');\" type=\"image\" align=\"absmiddle\" src=\"" + _IconPath + "find.gif\" /></td>\r\n");
                    }
                    if (names.Contains("Icon"))
                    {
                        rowBuilder.Append("<td align=\"center\"><input name=\"" + iconKey + "\" type=\"text\" value=\"" + variant.IconUrl + "\" class= \"" + autoExpand + "\" /><input name=\"" + iconKey + "B\" alt=\"Browse\" onclick=\"return PickImage('" + iconKey + "');\" type=\"image\" align=\"absmiddle\" src=\"" + _IconPath + "find.gif\" /></td>\r\n");
                    }
                    rowBuilder.Append("</tr>\r\n");
                    phVariantRow.Controls.Add(new LiteralControl(rowBuilder.ToString()));
                }
            }
        }