Thanks Richard for the reply.
Here is my custom macro:
case "productlist":
match = true;
result = "";
sender.AllowParameters = false;
//Get Shopping Cart Object from resolver
CMS.Ecommerce.ShoppingCartInfo cartObj3 = sender.SourceObject as CMS.Ecommerce.ShoppingCartInfo;
bool renderDiscount = true;
CMS.Ecommerce.CurrencyInfo currency = CMS.Ecommerce.CurrencyInfoProvider.GetCurrencyInfo(cartObj3.ShoppingCartCurrencyID);
StringBuilder sb = new StringBuilder();
// Header
sb.Append(" <table width=\"100%\" style=\"text-align: right\" cellspacing=\"0\" cellpadding=\"2\" class=\"productsList\">");
sb.Append(" <thead><tr><th colspan=\"" + (5 + (renderDiscount ? 1 : 0)) + "\" class=\"headerBorder\"> </th></tr><tr>");
sb.Append("<th style=\"text-align: left;padding-left:2px\">");
sb.Append(ResHelper.GetString("InvoiceTemplate.skuNumber", culture));
sb.Append(" </th>");
sb.Append(" <th>");
sb.Append(ResHelper.GetString("InvoiceTemplate.SKUName", culture));
sb.Append(" </th>");
sb.Append(" <th>");
sb.Append(ResHelper.GetString("InvoiceTemplate.SKUUnits", culture));
sb.Append(" </th>");
sb.Append(" <th>");
sb.Append(ResHelper.GetString("InvoiceTemplate.SKUPrice", culture));
sb.Append(" </th>");
if (renderDiscount)
{
sb.Append(" <th>");
sb.Append(ResHelper.GetString("InvoiceTemplate.UnitDiscount", culture));
sb.Append(" </th>");
}
sb.Append(" <th>");
sb.Append(ResHelper.GetString("InvoiceTemplate.Tax", culture));
sb.Append(" </th>");
sb.Append(" <th>");
sb.Append(ResHelper.GetString("InvoiceTemplate.Subtotal", culture));
sb.Append(" </th>");
sb.Append("</tr></thead><tbody>");
double value = 0.0;
DataTable dt = cartObj3.ShoppingCartContentTable;
//Add the items
foreach (DataRow dr in dt.Rows)
{
//Get SKUName
string name = ResHelper.RegExLocalize.Replace(Convert.ToString(DataHelper.GetDataRowValue(dr, "SKUName")), LocalizedStringMatch);
string number = ResHelper.RegExLocalize.Replace(Convert.ToString(DataHelper.GetDataRowValue(dr, "skuNumber")), LocalizedStringMatch);
// If it is a product option
if (ValidationHelper.GetGuid(DataHelper.GetDataRowValue(dr, "CartItemParentGuid"), Guid.Empty) != Guid.Empty)
{
name = " - " + name;
}
sb.Append("<tr>");
sb.Append(" <td style=\"text-align: left\">");
sb.Append(number);
sb.Append(" </td>");
sb.Append(" <td>");
sb.Append(name);
sb.Append(" </td>");
sb.Append(" <td>");
sb.Append(Convert.ToString(DataHelper.GetDataRowValue(dr, "SKUUnits")));
sb.Append(" </td>");
sb.Append(" <td>");
value = ValidationHelper.GetDouble(DataHelper.GetDataRowValue(dr, "SKUPrice"), 0);
sb.Append(CMS.Ecommerce.CurrencyInfoProvider.GetFormatedValue(value, currency));
sb.Append(" </td>");
if (renderDiscount)
{
sb.Append(" <td>");
value = ValidationHelper.GetDouble(DataHelper.GetDataRowValue(dr, "UnitDiscount"), 0);
sb.Append(CMS.Ecommerce.CurrencyInfoProvider.GetFormatedValue(value, currency));
sb.Append(" </td>");
}
sb.Append(" <td>");
value = ValidationHelper.GetDouble(DataHelper.GetDataRowValue(dr, "Tax"), 0);
sb.Append(CMS.Ecommerce.CurrencyInfoProvider.GetFormatedValue(value, currency));
sb.Append(" </td>");
sb.Append(" <td>");
value = ValidationHelper.GetDouble(DataHelper.GetDataRowValue(dr, "Subtotal"), 0);
sb.Append(CMS.Ecommerce.CurrencyInfoProvider.GetFormatedValue(value, currency));
sb.Append(" </td>");
sb.Append("</tr>");
}
sb.Append(" <tr>");
sb.Append(" <td colspan=\"" + (5 + (renderDiscount ? 1 : 0)) + "\" class=\"bottomBorder\"> ");
sb.Append(" </td>");
sb.Append(" </tr>");
sb.Append(" </tbody>");
sb.Append("</table> \n");
result = sb.ToString();
break;
There is a error for this line
sender.AllowParameters = false;
basically complains thats CMS.GlobalHelper.MacroResolver does not contain a definition for 'AllowParameters'.