HEX
Server: Microsoft-IIS/8.5
System: Windows NT YDAWBH120 6.3 build 9600 (Windows Server 2012 R2 Standard Edition) AMD64
User: tentjecom_web (0)
PHP: 7.4.14
Disabled: NONE
Upload Files
File: D:/HostingSpaces/TDijk1/erp-apps.eu/wwwroot/App_Code/ERPApps/ERPMacroModule.cs
using System;

using CMS.GlobalHelper;
using CMS.SettingsProvider;
using CMS.Base;
using CMS.MacroEngine;

/// <summary>
/// ERP custom macro resolver module
/// </summary>
[ERPMacroLoader]
public partial class CMSModuleLoader
{
    #region "Macro methods loader attribute"

    /// <summary>
    /// Attribute class ensuring correct initialization of methods in macro resolver. You do not need to modify this class.
    /// </summary>
    private class ERPMacroLoaderAttribute : CMSLoaderAttribute
    {
        /// <summary>
        /// Registers module methods.
        /// </summary>
        public override void Init()
        {
            // -- Custom macro methods
            //CustomMacroMethods.RegisterMethods();

            // -- Custom macro resolving
            MacroResolver.OnResolveCustomMacro += MacroResolver_OnResolveCustomMacro;

            // -- Custom output substitution resolving
            //OutputFilter.OnResolveSubstitution += OutputFilter_OnResolveSubstitution;
        }

        /// <summary>
        /// Resolves the custom macro
        /// </summary>
        /// <param name="sender">Sender</param>
        /// <param name="e">Event arguments</param>
        private void MacroResolver_OnResolveCustomMacro(object sender, MacroEventArgs e)
        {
            if (!e.Match)
            {
                // Add your custom macro evaluation
                switch (e.Expression.ToLower())
                {
                    case "shoppingcartitemscount":
                        // number of items in the shopping cart
                        e.Match = true;
                        e.Result = CMS.Ecommerce.ECommerceContext.CurrentShoppingCart != null ? CMS.Ecommerce.ECommerceContext.CurrentShoppingCart.CartItems.Count : 0;
                        break;

                    case "noadimage":
                        // no ads empty image
                        e.Match = true;
                        e.Result = "<div class=\"ad\"><img src=\"~/ERPApps/media/system/images/missing-ad.png\" alt=\"Place for your ad\" /></div>";
                        break;
                }
            }
        }
    }

    #endregion
}