diff --git a/app/Umbraco/Umbraco.Archetype/Models/Archetype.cs b/app/Umbraco/Umbraco.Archetype/Models/Archetype.cs index 1c920bf..207e9f6 100644 --- a/app/Umbraco/Umbraco.Archetype/Models/Archetype.cs +++ b/app/Umbraco/Umbraco.Archetype/Models/Archetype.cs @@ -1,16 +1,28 @@ -using System.Collections.Generic; +using System.Collections; +using System.Collections.Generic; using Newtonsoft.Json; namespace Archetype.Umbraco.Models { - public class Archetype + [JsonObject] + public class Archetype : IEnumerable
{ [JsonProperty("fieldsets")] - public IEnumerable
Fieldsets { get; set; } + internal IEnumerable
Fieldsets { get; set; } public Archetype() { Fieldsets = new List
(); } + + public IEnumerator
GetEnumerator() + { + return this.Fieldsets.GetEnumerator(); + } + + IEnumerator IEnumerable.GetEnumerator() + { + return this.GetEnumerator(); + } } } diff --git a/app/Umbraco/Umbraco.Archetype/PropertyConverters/ArchetypeValueConverter.cs b/app/Umbraco/Umbraco.Archetype/PropertyConverters/ArchetypeValueConverter.cs index 949f9dd..a8bfc8b 100644 --- a/app/Umbraco/Umbraco.Archetype/PropertyConverters/ArchetypeValueConverter.cs +++ b/app/Umbraco/Umbraco.Archetype/PropertyConverters/ArchetypeValueConverter.cs @@ -37,8 +37,10 @@ namespace Archetype.Umbraco.PropertyConverters public override object ConvertDataToSource(PublishedPropertyType propertyType, object source, bool preview) { + var defaultValue = new Models.Archetype(); + if (source == null) - return null; + return defaultValue; var sourceString = source.ToString(); @@ -79,11 +81,11 @@ namespace Archetype.Umbraco.PropertyConverters } catch (Exception ex) { - return null; + return defaultValue; } } - return sourceString; + return defaultValue; } internal ArchetypePreValue GetArchetypePreValueFromDataTypeId(int dataTypeId)