diff --git a/src/Umbraco.Core/Services/PackagingService.cs b/src/Umbraco.Core/Services/PackagingService.cs index 70ff9c09e8..269a6a1c06 100644 --- a/src/Umbraco.Core/Services/PackagingService.cs +++ b/src/Umbraco.Core/Services/PackagingService.cs @@ -837,6 +837,36 @@ namespace Umbraco.Core.Services return list; } + + //public IEnumerable ImportDictionaryItems(XElement element, int userId = 0, bool raiseEvents = true) + //{ + + // if (raiseEvents) + // { + // if (ImportingDictionaryItem.IsRaisedEventCancelled(new ImportEventArgs(element), this)) + // return Enumerable.Empty(); + // } + + // var name = element.Name.LocalName; + // if (name.Equals(Constants.Packaging.DictionaryItemsNodeName) == false) + // { + // throw new ArgumentException("The passed in XElement is not valid! It does not contain a root element called '" + Constants.Packaging.DictionaryItemsNodeName + "' for import"); + // } + + // IEnumerable list = Enumerable.Empty(); + + // //throw new NotImplementedException(); + + + // if (raiseEvents) + // { + + // ImportedDataType.RaiseEvent(new ImportEventArgs(list, element, false), this); + // } + + // return list; + //} + private void SavePrevaluesFromXml(List dataTypes, IEnumerable dataTypeElements) { foreach (var dataTypeElement in dataTypeElements) @@ -1474,47 +1504,29 @@ namespace Umbraco.Core.Services return templates; } - public IEnumerable ImportLanguage(XElement element, int userId = 0) + + public IEnumerable ImportStylesheets(XElement element, int userId = 0, bool raiseEvents = true) { - throw new NotImplementedException(); + + if (raiseEvents) + { + if (ImportingStylesheets.IsRaisedEventCancelled(new ImportEventArgs(element), this)) + return Enumerable.Empty(); + } + + IEnumerable styleSheets = Enumerable.Empty(); + + if(element.Elements().Any()) + throw new NotImplementedException("This needs to be implimentet"); + + + if (raiseEvents) + ImportingStylesheets.RaiseEvent(new ImportEventArgs(styleSheets, element, false), this); + + return styleSheets; + } - public IEnumerable ImportStylesheets(XElement element, int userId = 0) - { - throw new NotImplementedException(); - - - //foreach (XmlNode n in xmlNodeList.OfType()) - //{ - // StyleSheet s = StyleSheet.MakeNew( - // currentUser, - // XmlHelper.GetNodeValue(n.SelectSingleNode("Name")), - // XmlHelper.GetNodeValue(n.SelectSingleNode("FileName")), - // XmlHelper.GetNodeValue(n.SelectSingleNode("Content"))); - - // foreach (XmlNode prop in n.SelectNodes("Properties/Property")) - // { - // StylesheetProperty sp = StylesheetProperty.MakeNew( - // xmlHelper.GetNodeValue(prop.SelectSingleNode("Name")), - // s, - // currentUser); - // sp.Alias = XmlHelper.GetNodeValue(prop.SelectSingleNode("Alias")); - // sp.value = XmlHelper.GetNodeValue(prop.SelectSingleNode("Value")); - // } - // s.saveCssToFile(); - // s.Save(); - //} - } - - public IEnumerable ImportMacros(XElement xElement, int userId = 0) - { - throw new NotImplementedException(); - } - - public IEnumerable ImportDictionaryItems(XElement xElement, int userId = 0) - { - throw new NotImplementedException(); - } private bool IsMasterPageSyntax(string code) { @@ -1739,6 +1751,12 @@ namespace Umbraco.Core.Services /// public static event TypedEventHandler> ImportingTemplate; + /// + /// Occurs before Importing Stylesheets + /// + public static event TypedEventHandler> ImportingStylesheets; + + /// /// Occurs after Template is Imported and Saved ///