diff --git a/src/umbraco.cms/businesslogic/Packager/Installer.cs b/src/umbraco.cms/businesslogic/Packager/Installer.cs index bc1c062631..dbbdf08e21 100644 --- a/src/umbraco.cms/businesslogic/Packager/Installer.cs +++ b/src/umbraco.cms/businesslogic/Packager/Installer.cs @@ -411,19 +411,12 @@ namespace umbraco.cms.businesslogic.packager #endregion #region Macros - foreach (XmlNode n in Config.DocumentElement.SelectNodes("//macro")) + var macroItemsElement = rootElement.Descendants("Macros").FirstOrDefault(); + if (macroItemsElement != null) { - //TODO: Fix this, this should not use the legacy API - Macro m = Macro.Import(n); - - if (m != null) - { - insPack.Data.Macros.Add(m.Id.ToString(CultureInfo.InvariantCulture)); - //saveNeeded = true; - } + var insertedMacros = packagingService.ImportMacros(macroItemsElement); + insPack.Data.Macros.AddRange(insertedMacros.Select(m => m.Id.ToString())); } - - //if (saveNeeded) { insPack.Save(); saveNeeded = false; } #endregion #region Templates diff --git a/src/umbraco.cms/businesslogic/macro/Macro.cs b/src/umbraco.cms/businesslogic/macro/Macro.cs index 4ff30c404f..4031f54150 100644 --- a/src/umbraco.cms/businesslogic/macro/Macro.cs +++ b/src/umbraco.cms/businesslogic/macro/Macro.cs @@ -1,11 +1,8 @@ using System; -using System.Data; -using System.Globalization; using System.Security.Cryptography; using System.Text; using System.Text.RegularExpressions; using System.Xml; -using System.Runtime.CompilerServices; using Umbraco.Core; using Umbraco.Core.Cache; using Umbraco.Core.IO; @@ -185,23 +182,26 @@ namespace umbraco.cms.businesslogic.macro }).ToArray(); } } - - /// - /// Macro initializer - /// - public Macro() + + /// + /// Macro initializer + /// + [Obsolete("This should no longer be used, use the IMacroService and related models instead")] + public Macro() { } - /// - /// Macro initializer - /// - /// The id of the macro - public Macro(int Id) + /// + /// Macro initializer + /// + /// The id of the macro + [Obsolete("This should no longer be used, use the IMacroService and related models instead")] + public Macro(int Id) { Setup(Id); } + [Obsolete("This should no longer be used, use the IMacroService and related models instead")] internal Macro(IMacro macro) { MacroEntity = macro; @@ -211,15 +211,17 @@ namespace umbraco.cms.businesslogic.macro /// Initializes a new instance of the class. /// /// The alias. + [Obsolete("This should no longer be used, use the IMacroService and related models instead")] public Macro(string alias) { Setup(alias); } - /// - /// Used to persist object changes to the database. In Version3.0 it's just a stub for future compatibility - /// - public virtual void Save() + /// + /// Used to persist object changes to the database. In Version3.0 it's just a stub for future compatibility + /// + [Obsolete("This should no longer be used, use the IMacroService and related models instead")] + public virtual void Save() { //event var e = new SaveEventArgs(); @@ -250,8 +252,7 @@ namespace umbraco.cms.businesslogic.macro } } - //TODO: Fix this, this should wrap a new API! - + [Obsolete("This is no longer used, use the IMacroService and related models instead")] public static Macro Import(XmlNode n) { var alias = XmlHelper.GetNodeValue(n.SelectSingleNode("alias"));