diff --git a/src/Umbraco.Core/Models/ContentStatus.cs b/src/Umbraco.Core/Models/ContentStatus.cs index a50864fcc1..d3d65213f2 100644 --- a/src/Umbraco.Core/Models/ContentStatus.cs +++ b/src/Umbraco.Core/Models/ContentStatus.cs @@ -1,8 +1,13 @@ -namespace Umbraco.Core.Models +using System; +using System.Runtime.Serialization; + +namespace Umbraco.Core.Models { /// /// Enum for the various statuses a Content object can have /// + [Serializable] + [DataContract(IsReference = true)] public enum ContentStatus { Unpublished, Published, Expired, Trashed, AwaitingRelease diff --git a/src/Umbraco.Core/Models/DataTypeDatabaseType.cs b/src/Umbraco.Core/Models/DataTypeDatabaseType.cs index 28e70cca44..d0c3fb13b8 100644 --- a/src/Umbraco.Core/Models/DataTypeDatabaseType.cs +++ b/src/Umbraco.Core/Models/DataTypeDatabaseType.cs @@ -1,3 +1,6 @@ +using System; +using System.Runtime.Serialization; + namespace Umbraco.Core.Models { /// @@ -7,6 +10,8 @@ namespace Umbraco.Core.Models /// Object is added to support complex values from PropertyEditors, /// but will be saved under the Ntext column. /// + [Serializable] + [DataContract(IsReference = true)] public enum DataTypeDatabaseType { Integer, diff --git a/src/Umbraco.Core/Models/File.cs b/src/Umbraco.Core/Models/File.cs index 09bc15217c..8b46a1ec14 100644 --- a/src/Umbraco.Core/Models/File.cs +++ b/src/Umbraco.Core/Models/File.cs @@ -1,8 +1,14 @@ using System; using System.IO; +using System.Runtime.Serialization; namespace Umbraco.Core.Models { + /// + /// Represents an abstract file which provides basic functionality for a File with an Alias and Name + /// + [Serializable] + [DataContract(IsReference = true)] public abstract class File : IFile { private string _name; @@ -16,6 +22,7 @@ namespace Umbraco.Core.Models /// /// Gets or sets the Name of the File including extension /// + [DataMember] public virtual string Name { get @@ -32,6 +39,7 @@ namespace Umbraco.Core.Models /// /// Gets or sets the Alias of the File, which is the name without the extension /// + [DataMember] public virtual string Alias { get @@ -51,11 +59,13 @@ namespace Umbraco.Core.Models /// /// Gets or sets the Path to the File from the root of the site /// + [DataMember] public virtual string Path { get; set; } /// /// Gets or sets the Content of a File /// + [DataMember] public virtual string Content { get; set; } /// diff --git a/src/Umbraco.Core/Models/MacroPropertyTypeBaseTypes.cs b/src/Umbraco.Core/Models/MacroPropertyTypeBaseTypes.cs index 0380f1df63..27ff5a1bfa 100644 --- a/src/Umbraco.Core/Models/MacroPropertyTypeBaseTypes.cs +++ b/src/Umbraco.Core/Models/MacroPropertyTypeBaseTypes.cs @@ -1,8 +1,13 @@ -namespace Umbraco.Core.Models +using System; +using System.Runtime.Serialization; + +namespace Umbraco.Core.Models { /// /// Enum for the three allowed BaseTypes /// + [Serializable] + [DataContract(IsReference = true)] public enum MacroPropertyTypeBaseTypes { Int32, diff --git a/src/Umbraco.Core/Models/MacroTypes.cs b/src/Umbraco.Core/Models/MacroTypes.cs index ef1083afe9..a8f32ebff1 100644 --- a/src/Umbraco.Core/Models/MacroTypes.cs +++ b/src/Umbraco.Core/Models/MacroTypes.cs @@ -1,8 +1,13 @@ -namespace Umbraco.Core.Models +using System; +using System.Runtime.Serialization; + +namespace Umbraco.Core.Models { /// /// Enum for the various types of Macros /// + [Serializable] + [DataContract(IsReference = true)] public enum MacroTypes { Xslt = 1, diff --git a/src/Umbraco.Core/Models/PropertyCollection.cs b/src/Umbraco.Core/Models/PropertyCollection.cs index 03eb5c97fe..db90d5b42b 100644 --- a/src/Umbraco.Core/Models/PropertyCollection.cs +++ b/src/Umbraco.Core/Models/PropertyCollection.cs @@ -8,6 +8,9 @@ using System.Threading; namespace Umbraco.Core.Models { + /// + /// Represents a Collection of objects + /// [Serializable] [DataContract(IsReference = true)] public class PropertyCollection : KeyedCollection, INotifyCollectionChanged diff --git a/src/Umbraco.Core/Models/PropertyGroupCollection.cs b/src/Umbraco.Core/Models/PropertyGroupCollection.cs index 6895d4c45d..e9fc8e5a0d 100644 --- a/src/Umbraco.Core/Models/PropertyGroupCollection.cs +++ b/src/Umbraco.Core/Models/PropertyGroupCollection.cs @@ -8,6 +8,9 @@ using System.Threading; namespace Umbraco.Core.Models { + /// + /// Represents a collection of objects + /// [Serializable] [DataContract(IsReference = true)] public class PropertyGroupCollection : KeyedCollection, INotifyCollectionChanged diff --git a/src/Umbraco.Core/Models/PropertyTypeCollection.cs b/src/Umbraco.Core/Models/PropertyTypeCollection.cs index 395e6009a1..57574fa125 100644 --- a/src/Umbraco.Core/Models/PropertyTypeCollection.cs +++ b/src/Umbraco.Core/Models/PropertyTypeCollection.cs @@ -8,6 +8,9 @@ using System.Threading; namespace Umbraco.Core.Models { + /// + /// Represents a collection of objects + /// [Serializable] [DataContract(IsReference = true)] public class PropertyTypeCollection : KeyedCollection, INotifyCollectionChanged diff --git a/src/Umbraco.Core/Models/Script.cs b/src/Umbraco.Core/Models/Script.cs index 48aa53987a..242b076daa 100644 --- a/src/Umbraco.Core/Models/Script.cs +++ b/src/Umbraco.Core/Models/Script.cs @@ -1,4 +1,6 @@ -using System.Linq; +using System; +using System.Linq; +using System.Runtime.Serialization; using Umbraco.Core.Configuration; using Umbraco.Core.IO; @@ -7,6 +9,8 @@ namespace Umbraco.Core.Models /// /// Represents a Script file /// + [Serializable] + [DataContract(IsReference = true)] public class Script : File { public Script(string path) : base(path) diff --git a/src/Umbraco.Core/Models/Stylesheet.cs b/src/Umbraco.Core/Models/Stylesheet.cs index e4a985073c..f8d82e6ae7 100644 --- a/src/Umbraco.Core/Models/Stylesheet.cs +++ b/src/Umbraco.Core/Models/Stylesheet.cs @@ -1,5 +1,7 @@ -using System.Collections.Generic; +using System; +using System.Collections.Generic; using System.Linq; +using System.Runtime.Serialization; using Umbraco.Core.IO; using Umbraco.Core.Models.Css; using Umbraco.Core.Models.EntityBase; @@ -9,6 +11,8 @@ namespace Umbraco.Core.Models /// /// Represents a Stylesheet file /// + [Serializable] + [DataContract(IsReference = true)] public class Stylesheet : File { public Stylesheet(string path) : base(path) @@ -19,6 +23,7 @@ namespace Umbraco.Core.Models /// /// Returns a list of /// + [IgnoreDataMember] public IEnumerable Properties { get @@ -26,6 +31,7 @@ namespace Umbraco.Core.Models var properties = new List(); var parser = new CssParser(Path);//TODO change CssParser so we can use Content instead of Path + //TODO Need to explorer how the Stylesheet should be iterated to generate a list of css properties foreach (CssAtRule statement in parser.StyleSheet.Statements) { properties.Add(new StylesheetProperty(statement.Value, "")); diff --git a/src/Umbraco.Core/Models/Template.cs b/src/Umbraco.Core/Models/Template.cs index 3e49137718..3aa5abe62b 100644 --- a/src/Umbraco.Core/Models/Template.cs +++ b/src/Umbraco.Core/Models/Template.cs @@ -1,4 +1,6 @@ -using System.Collections.Generic; +using System; +using System.Collections.Generic; +using System.Runtime.Serialization; using Umbraco.Core.Configuration; using Umbraco.Core.IO; @@ -7,6 +9,8 @@ namespace Umbraco.Core.Models /// /// Represents a Template file /// + [Serializable] + [DataContract(IsReference = true)] public class Template : File { public Template(string path)