If you're missing the proper context for resolving macros in the MVC application, you can use SetNamedSourceData() to register data. I would change the macro to something like {%CurrentDocument.DocumentName|(identity)GlobalAdministrator%}, then you can resolve the macro like this:
var resolver = MacroContext.CurrentResolver;
resolver.SetNamedSourceData("CurrentDocument", node);
var title = resolver.ResolveMacros(node.DocumentPageTitle);