From 33ca7614413ef5531a8255a9630c4debadb1218e Mon Sep 17 00:00:00 2001 From: Shannon Date: Tue, 21 Jun 2016 20:43:02 +0200 Subject: [PATCH] Updated all to use the ref parameter, tests are passing - now to see if they run any faster :) --- src/Umbraco.Core/Models/Content.cs | 16 ++++----- src/Umbraco.Core/Models/ContentBase.cs | 14 ++++---- src/Umbraco.Core/Models/ContentType.cs | 4 +-- src/Umbraco.Core/Models/ContentTypeBase.cs | 28 +++++++-------- src/Umbraco.Core/Models/DataTypeDefinition.cs | 18 +++++----- src/Umbraco.Core/Models/DictionaryItem.cs | 6 ++-- .../Models/DictionaryTranslation.cs | 6 ++-- src/Umbraco.Core/Models/EntityBase/Entity.cs | 12 +++---- .../EntityBase/TracksChangesEntityBase.cs | 22 +++++++++--- src/Umbraco.Core/Models/File.cs | 6 ++-- src/Umbraco.Core/Models/Language.cs | 4 +-- src/Umbraco.Core/Models/Macro.cs | 22 ++++++------ src/Umbraco.Core/Models/MacroProperty.cs | 10 +++--- src/Umbraco.Core/Models/Member.cs | 8 ++--- src/Umbraco.Core/Models/MemberGroup.cs | 4 +-- src/Umbraco.Core/Models/MemberType.cs | 2 +- src/Umbraco.Core/Models/Membership/User.cs | 34 +++++++++---------- .../Models/Membership/UserType.cs | 8 ++--- src/Umbraco.Core/Models/MigrationEntry.cs | 4 +-- src/Umbraco.Core/Models/Property.cs | 4 +-- src/Umbraco.Core/Models/PropertyGroup.cs | 4 +-- src/Umbraco.Core/Models/PropertyType.cs | 22 ++++++------ src/Umbraco.Core/Models/PublicAccessEntry.cs | 6 ++-- src/Umbraco.Core/Models/PublicAccessRule.cs | 4 +-- src/Umbraco.Core/Models/Relation.cs | 8 ++--- src/Umbraco.Core/Models/RelationType.cs | 10 +++--- src/Umbraco.Core/Models/ServerRegistration.cs | 8 ++--- src/Umbraco.Core/Models/StylesheetProperty.cs | 4 +-- src/Umbraco.Core/Models/Tag.cs | 4 +-- src/Umbraco.Core/Models/Task.cs | 12 +++---- src/Umbraco.Core/Models/TaskType.cs | 2 +- src/Umbraco.Core/Models/Template.cs | 8 ++--- src/Umbraco.Core/Models/UmbracoDomain.cs | 6 ++-- src/Umbraco.Core/Models/UmbracoEntity.cs | 30 ++++++++-------- 34 files changed, 187 insertions(+), 173 deletions(-) diff --git a/src/Umbraco.Core/Models/Content.cs b/src/Umbraco.Core/Models/Content.cs index c5b080d397..14f300af78 100644 --- a/src/Umbraco.Core/Models/Content.cs +++ b/src/Umbraco.Core/Models/Content.cs @@ -101,7 +101,7 @@ namespace Umbraco.Core.Models public virtual ITemplate Template { get { return _template; } - set { _template = SetPropertyValueAndDetectChanges(value, _template, Ps.Value.TemplateSelector); } + set { SetPropertyValueAndDetectChanges(value, ref _template, Ps.Value.TemplateSelector); } } /// @@ -139,7 +139,7 @@ namespace Umbraco.Core.Models public bool Published { get { return _published; } - internal set { _published = SetPropertyValueAndDetectChanges(value, _published, Ps.Value.PublishedSelector); } + internal set { SetPropertyValueAndDetectChanges(value, ref _published, Ps.Value.PublishedSelector); } } /// @@ -149,7 +149,7 @@ namespace Umbraco.Core.Models public string Language { get { return _language; } - set { _language = SetPropertyValueAndDetectChanges(value, _language, Ps.Value.LanguageSelector); } + set { SetPropertyValueAndDetectChanges(value, ref _language, Ps.Value.LanguageSelector); } } /// @@ -159,7 +159,7 @@ namespace Umbraco.Core.Models public DateTime? ReleaseDate { get { return _releaseDate; } - set { _releaseDate = SetPropertyValueAndDetectChanges(value, _releaseDate, Ps.Value.ReleaseDateSelector); } + set { SetPropertyValueAndDetectChanges(value, ref _releaseDate, Ps.Value.ReleaseDateSelector); } } /// @@ -169,7 +169,7 @@ namespace Umbraco.Core.Models public DateTime? ExpireDate { get { return _expireDate; } - set { _expireDate = SetPropertyValueAndDetectChanges(value, _expireDate, Ps.Value.ExpireDateSelector); } + set { SetPropertyValueAndDetectChanges(value, ref _expireDate, Ps.Value.ExpireDateSelector); } } /// @@ -179,7 +179,7 @@ namespace Umbraco.Core.Models public virtual int WriterId { get { return _writer; } - set { _writer = SetPropertyValueAndDetectChanges(value, _writer, Ps.Value.WriterSelector); } + set { SetPropertyValueAndDetectChanges(value, ref _writer, Ps.Value.WriterSelector); } } /// @@ -192,7 +192,7 @@ namespace Umbraco.Core.Models internal string NodeName { get { return _nodeName; } - set { _nodeName = SetPropertyValueAndDetectChanges(value, _nodeName, Ps.Value.NodeNameSelector); } + set { SetPropertyValueAndDetectChanges(value, ref _nodeName, Ps.Value.NodeNameSelector); } } /// @@ -202,7 +202,7 @@ namespace Umbraco.Core.Models internal bool PermissionsChanged { get { return _permissionsChanged; } - set { _permissionsChanged = SetPropertyValueAndDetectChanges(value, _permissionsChanged, Ps.Value.PermissionsChangedSelector); } + set { SetPropertyValueAndDetectChanges(value, ref _permissionsChanged, Ps.Value.PermissionsChangedSelector); } } /// diff --git a/src/Umbraco.Core/Models/ContentBase.cs b/src/Umbraco.Core/Models/ContentBase.cs index 36172c5f73..0fc3bac044 100644 --- a/src/Umbraco.Core/Models/ContentBase.cs +++ b/src/Umbraco.Core/Models/ContentBase.cs @@ -130,7 +130,7 @@ namespace Umbraco.Core.Models public virtual string Name { get { return _name; } - set { _name = SetPropertyValueAndDetectChanges(value, _name, Ps.Value.NameSelector); } + set { SetPropertyValueAndDetectChanges(value, ref _name, Ps.Value.NameSelector); } } /// @@ -140,7 +140,7 @@ namespace Umbraco.Core.Models public virtual int SortOrder { get { return _sortOrder; } - set { _sortOrder = SetPropertyValueAndDetectChanges(value, _sortOrder, Ps.Value.SortOrderSelector); } + set { SetPropertyValueAndDetectChanges(value, ref _sortOrder, Ps.Value.SortOrderSelector); } } /// @@ -150,7 +150,7 @@ namespace Umbraco.Core.Models public virtual int Level { get { return _level; } - set { _level = SetPropertyValueAndDetectChanges(value, _level, Ps.Value.LevelSelector); } + set { SetPropertyValueAndDetectChanges(value, ref _level, Ps.Value.LevelSelector); } } /// @@ -160,7 +160,7 @@ namespace Umbraco.Core.Models public virtual string Path //Setting this value should be handled by the class not the user { get { return _path; } - set { _path = SetPropertyValueAndDetectChanges(value, _path, Ps.Value.PathSelector); } + set { SetPropertyValueAndDetectChanges(value, ref _path, Ps.Value.PathSelector); } } /// @@ -170,7 +170,7 @@ namespace Umbraco.Core.Models public virtual int CreatorId { get { return _creatorId; } - set { _creatorId = SetPropertyValueAndDetectChanges(value, _creatorId, Ps.Value.CreatorIdSelector); } + set { SetPropertyValueAndDetectChanges(value, ref _creatorId, Ps.Value.CreatorIdSelector); } } /// @@ -182,7 +182,7 @@ namespace Umbraco.Core.Models public virtual bool Trashed //Setting this value should be handled by the class not the user { get { return _trashed; } - internal set { _trashed = SetPropertyValueAndDetectChanges(value, _trashed, Ps.Value.TrashedSelector); } + internal set { SetPropertyValueAndDetectChanges(value, ref _trashed, Ps.Value.TrashedSelector); } } /// @@ -207,7 +207,7 @@ namespace Umbraco.Core.Models } return _contentTypeId; } - protected set { _contentTypeId = SetPropertyValueAndDetectChanges(value, _contentTypeId, Ps.Value.DefaultContentTypeIdSelector); } + protected set { SetPropertyValueAndDetectChanges(value, ref _contentTypeId, Ps.Value.DefaultContentTypeIdSelector); } } /// diff --git a/src/Umbraco.Core/Models/ContentType.cs b/src/Umbraco.Core/Models/ContentType.cs index f6bc6b918c..88c498a147 100644 --- a/src/Umbraco.Core/Models/ContentType.cs +++ b/src/Umbraco.Core/Models/ContentType.cs @@ -75,7 +75,7 @@ namespace Umbraco.Core.Models internal int DefaultTemplateId { get { return _defaultTemplate; } - set { _defaultTemplate = SetPropertyValueAndDetectChanges(value, _defaultTemplate, Ps.Value.DefaultTemplateSelector); } + set { SetPropertyValueAndDetectChanges(value, ref _defaultTemplate, Ps.Value.DefaultTemplateSelector); } } /// @@ -90,7 +90,7 @@ namespace Umbraco.Core.Models get { return _allowedTemplates; } set { - _allowedTemplates = SetPropertyValueAndDetectChanges(value, _allowedTemplates, Ps.Value.AllowedTemplatesSelector, + SetPropertyValueAndDetectChanges(value, ref _allowedTemplates, Ps.Value.AllowedTemplatesSelector, //Custom comparer for enumerable new DelegateEqualityComparer>( (templates, enumerable) => templates.UnsortedSequenceEqual(enumerable), diff --git a/src/Umbraco.Core/Models/ContentTypeBase.cs b/src/Umbraco.Core/Models/ContentTypeBase.cs index 7ac2007f7f..2982713e5a 100644 --- a/src/Umbraco.Core/Models/ContentTypeBase.cs +++ b/src/Umbraco.Core/Models/ContentTypeBase.cs @@ -131,7 +131,7 @@ namespace Umbraco.Core.Models public virtual string Name { get { return _name; } - set { _name = SetPropertyValueAndDetectChanges(value, _name, Ps.Value.NameSelector); } + set { SetPropertyValueAndDetectChanges(value, ref _name, Ps.Value.NameSelector); } } /// @@ -141,7 +141,7 @@ namespace Umbraco.Core.Models public virtual int Level //NOTE Is this relevant for a ContentType? { get { return _level; } - set { _level = SetPropertyValueAndDetectChanges(value, _level, Ps.Value.LevelSelector); } + set { SetPropertyValueAndDetectChanges(value, ref _level, Ps.Value.LevelSelector); } } /// @@ -151,7 +151,7 @@ namespace Umbraco.Core.Models public virtual string Path //NOTE Is this relevant for a ContentType? { get { return _path; } - set { _path = SetPropertyValueAndDetectChanges(value, _path, Ps.Value.PathSelector); } + set { SetPropertyValueAndDetectChanges(value, ref _path, Ps.Value.PathSelector); } } /// @@ -163,9 +163,9 @@ namespace Umbraco.Core.Models get { return _alias; } set { - _alias = SetPropertyValueAndDetectChanges( + SetPropertyValueAndDetectChanges( value.ToCleanString(CleanStringType.Alias | CleanStringType.UmbracoCase), - _alias, + ref _alias, Ps.Value.AliasSelector); } } @@ -177,7 +177,7 @@ namespace Umbraco.Core.Models public virtual string Description { get { return _description; } - set { _description = SetPropertyValueAndDetectChanges(value, _description, Ps.Value.DescriptionSelector); } + set { SetPropertyValueAndDetectChanges(value, ref _description, Ps.Value.DescriptionSelector); } } /// @@ -187,7 +187,7 @@ namespace Umbraco.Core.Models public virtual int SortOrder { get { return _sortOrder; } - set { _sortOrder = SetPropertyValueAndDetectChanges(value, _sortOrder, Ps.Value.SortOrderSelector); } + set { SetPropertyValueAndDetectChanges(value, ref _sortOrder, Ps.Value.SortOrderSelector); } } /// @@ -197,7 +197,7 @@ namespace Umbraco.Core.Models public virtual string Icon { get { return _icon; } - set { _icon = SetPropertyValueAndDetectChanges(value, _icon, Ps.Value.IconSelector); } + set { SetPropertyValueAndDetectChanges(value, ref _icon, Ps.Value.IconSelector); } } /// @@ -207,7 +207,7 @@ namespace Umbraco.Core.Models public virtual string Thumbnail { get { return _thumbnail; } - set { _thumbnail = SetPropertyValueAndDetectChanges(value, _thumbnail, Ps.Value.ThumbnailSelector); } + set { SetPropertyValueAndDetectChanges(value, ref _thumbnail, Ps.Value.ThumbnailSelector); } } /// @@ -217,7 +217,7 @@ namespace Umbraco.Core.Models public virtual int CreatorId { get { return _creatorId; } - set { _creatorId = SetPropertyValueAndDetectChanges(value, _creatorId, Ps.Value.CreatorIdSelector); } + set { SetPropertyValueAndDetectChanges(value, ref _creatorId, Ps.Value.CreatorIdSelector); } } /// @@ -227,7 +227,7 @@ namespace Umbraco.Core.Models public virtual bool AllowedAsRoot { get { return _allowedAsRoot; } - set { _allowedAsRoot = SetPropertyValueAndDetectChanges(value, _allowedAsRoot, Ps.Value.AllowedAsRootSelector); } + set { SetPropertyValueAndDetectChanges(value, ref _allowedAsRoot, Ps.Value.AllowedAsRootSelector); } } /// @@ -240,7 +240,7 @@ namespace Umbraco.Core.Models public virtual bool IsContainer { get { return _isContainer; } - set { _isContainer = SetPropertyValueAndDetectChanges(value, _isContainer, Ps.Value.IsContainerSelector); } + set { SetPropertyValueAndDetectChanges(value, ref _isContainer, Ps.Value.IsContainerSelector); } } /// @@ -251,7 +251,7 @@ namespace Umbraco.Core.Models public virtual bool Trashed //NOTE Is this relevant for a ContentType? { get { return _trashed; } - set { _trashed = SetPropertyValueAndDetectChanges(value, _trashed, Ps.Value.TrashedSelector); } + set { SetPropertyValueAndDetectChanges(value, ref _trashed, Ps.Value.TrashedSelector); } } private IDictionary _additionalData; @@ -273,7 +273,7 @@ namespace Umbraco.Core.Models get { return _allowedContentTypes; } set { - _allowedContentTypes = SetPropertyValueAndDetectChanges(value, _allowedContentTypes, Ps.Value.AllowedContentTypesSelector, + SetPropertyValueAndDetectChanges(value, ref _allowedContentTypes, Ps.Value.AllowedContentTypesSelector, //Custom comparer for enumerable new DelegateEqualityComparer>( (sorts, enumerable) => sorts.UnsortedSequenceEqual(enumerable), diff --git a/src/Umbraco.Core/Models/DataTypeDefinition.cs b/src/Umbraco.Core/Models/DataTypeDefinition.cs index bfff842c30..3ba5125a90 100644 --- a/src/Umbraco.Core/Models/DataTypeDefinition.cs +++ b/src/Umbraco.Core/Models/DataTypeDefinition.cs @@ -88,7 +88,7 @@ namespace Umbraco.Core.Models public int ParentId { get { return _parentId; } - set { _parentId = SetPropertyValueAndDetectChanges(value, _parentId, Ps.Value.ParentIdSelector); } + set { SetPropertyValueAndDetectChanges(value, ref _parentId, Ps.Value.ParentIdSelector); } } /// @@ -98,7 +98,7 @@ namespace Umbraco.Core.Models public string Name { get { return _name; } - set { _name = SetPropertyValueAndDetectChanges(value, _name, Ps.Value.NameSelector); } + set { SetPropertyValueAndDetectChanges(value, ref _name, Ps.Value.NameSelector); } } /// @@ -108,7 +108,7 @@ namespace Umbraco.Core.Models public int SortOrder { get { return _sortOrder; } - set { _sortOrder = SetPropertyValueAndDetectChanges(value, _sortOrder, Ps.Value.SortOrderSelector); } + set { SetPropertyValueAndDetectChanges(value, ref _sortOrder, Ps.Value.SortOrderSelector); } } /// @@ -118,7 +118,7 @@ namespace Umbraco.Core.Models public int Level { get { return _level; } - set { _level = SetPropertyValueAndDetectChanges(value, _level, Ps.Value.LevelSelector); } + set { SetPropertyValueAndDetectChanges(value, ref _level, Ps.Value.LevelSelector); } } /// @@ -128,7 +128,7 @@ namespace Umbraco.Core.Models public string Path //Setting this value should be handled by the class not the user { get { return _path; } - set { _path = SetPropertyValueAndDetectChanges(value, _path, Ps.Value.PathSelector); } + set { SetPropertyValueAndDetectChanges(value, ref _path, Ps.Value.PathSelector); } } /// @@ -138,7 +138,7 @@ namespace Umbraco.Core.Models public int CreatorId { get { return _creatorId; } - set { _creatorId = SetPropertyValueAndDetectChanges(value, _creatorId, Ps.Value.UserIdSelector); } + set { SetPropertyValueAndDetectChanges(value, ref _creatorId, Ps.Value.UserIdSelector); } } //NOTE: SD: Why do we have this ?? @@ -152,7 +152,7 @@ namespace Umbraco.Core.Models get { return _trashed; } internal set { - _trashed = SetPropertyValueAndDetectChanges(value, _trashed, Ps.Value.TrashedSelector); + SetPropertyValueAndDetectChanges(value, ref _trashed, Ps.Value.TrashedSelector); //This is a custom property that is not exposed in IUmbracoEntity so add it to the additional data _additionalData["Trashed"] = value; } @@ -164,7 +164,7 @@ namespace Umbraco.Core.Models get { return _propertyEditorAlias; } set { - _propertyEditorAlias = SetPropertyValueAndDetectChanges(value, _propertyEditorAlias, Ps.Value.PropertyEditorAliasSelector); + SetPropertyValueAndDetectChanges(value, ref _propertyEditorAlias, Ps.Value.PropertyEditorAliasSelector); //This is a custom property that is not exposed in IUmbracoEntity so add it to the additional data _additionalData["DatabaseType"] = value; } @@ -200,7 +200,7 @@ namespace Umbraco.Core.Models get { return _databaseType; } set { - _databaseType = SetPropertyValueAndDetectChanges(value, _databaseType, Ps.Value.DatabaseTypeSelector); + SetPropertyValueAndDetectChanges(value, ref _databaseType, Ps.Value.DatabaseTypeSelector); //This is a custom property that is not exposed in IUmbracoEntity so add it to the additional data _additionalData["DatabaseType"] = value; } diff --git a/src/Umbraco.Core/Models/DictionaryItem.cs b/src/Umbraco.Core/Models/DictionaryItem.cs index a4080d718c..42b047e35b 100644 --- a/src/Umbraco.Core/Models/DictionaryItem.cs +++ b/src/Umbraco.Core/Models/DictionaryItem.cs @@ -46,7 +46,7 @@ namespace Umbraco.Core.Models public Guid? ParentId { get { return _parentId; } - set { _parentId = SetPropertyValueAndDetectChanges(value, _parentId, Ps.Value.ParentIdSelector); } + set { SetPropertyValueAndDetectChanges(value, ref _parentId, Ps.Value.ParentIdSelector); } } /// @@ -56,7 +56,7 @@ namespace Umbraco.Core.Models public string ItemKey { get { return _itemKey; } - set { _itemKey = SetPropertyValueAndDetectChanges(value, _itemKey, Ps.Value.ItemKeySelector); } + set { SetPropertyValueAndDetectChanges(value, ref _itemKey, Ps.Value.ItemKeySelector); } } /// @@ -78,7 +78,7 @@ namespace Umbraco.Core.Models } } - _translations = SetPropertyValueAndDetectChanges(asArray, _translations, Ps.Value.TranslationsSelector, + SetPropertyValueAndDetectChanges(asArray, ref _translations, Ps.Value.TranslationsSelector, //Custom comparer for enumerable new DelegateEqualityComparer>( (enumerable, translations) => enumerable.UnsortedSequenceEqual(translations), diff --git a/src/Umbraco.Core/Models/DictionaryTranslation.cs b/src/Umbraco.Core/Models/DictionaryTranslation.cs index 7748ab1613..0e9a516662 100644 --- a/src/Umbraco.Core/Models/DictionaryTranslation.cs +++ b/src/Umbraco.Core/Models/DictionaryTranslation.cs @@ -20,6 +20,8 @@ namespace Umbraco.Core.Models //note: this will be memberwise cloned private int _languageId; + private Lazy TESTID = new Lazy(() => Guid.NewGuid()); + public DictionaryTranslation(ILanguage language, string value) { if (language == null) throw new ArgumentNullException("language"); @@ -84,7 +86,7 @@ namespace Umbraco.Core.Models } set { - _language = SetPropertyValueAndDetectChanges(value, _language, Ps.Value.LanguageSelector); + SetPropertyValueAndDetectChanges(value, ref _language, Ps.Value.LanguageSelector); _languageId = _language == null ? -1 : _language.Id; } } @@ -101,7 +103,7 @@ namespace Umbraco.Core.Models public string Value { get { return _value; } - set { _value = SetPropertyValueAndDetectChanges(value, _value, Ps.Value.ValueSelector); } + set { SetPropertyValueAndDetectChanges(value, ref _value, Ps.Value.ValueSelector); } } public override object DeepClone() diff --git a/src/Umbraco.Core/Models/EntityBase/Entity.cs b/src/Umbraco.Core/Models/EntityBase/Entity.cs index d260c2f7de..637255a1c8 100644 --- a/src/Umbraco.Core/Models/EntityBase/Entity.cs +++ b/src/Umbraco.Core/Models/EntityBase/Entity.cs @@ -44,7 +44,7 @@ namespace Umbraco.Core.Models.EntityBase get { return _id; } set { - _id = SetPropertyValueAndDetectChanges(value, _id, Ps.Value.IdSelector); + SetPropertyValueAndDetectChanges(value, ref _id, Ps.Value.IdSelector); HasIdentity = true; //set the has Identity } } @@ -64,7 +64,7 @@ namespace Umbraco.Core.Models.EntityBase _key = Guid.NewGuid(); return _key; } - set { _key = SetPropertyValueAndDetectChanges(value, _key, Ps.Value.KeySelector); } + set { SetPropertyValueAndDetectChanges(value, ref _key, Ps.Value.KeySelector); } } /// @@ -74,7 +74,7 @@ namespace Umbraco.Core.Models.EntityBase public DateTime CreateDate { get { return _createDate; } - set { _createDate = SetPropertyValueAndDetectChanges(value, _createDate, Ps.Value.CreateDateSelector); } + set { SetPropertyValueAndDetectChanges(value, ref _createDate, Ps.Value.CreateDateSelector); } } /// @@ -88,7 +88,7 @@ namespace Umbraco.Core.Models.EntityBase internal bool WasCancelled { get { return _wasCancelled; } - set { _wasCancelled = SetPropertyValueAndDetectChanges(value, _wasCancelled, Ps.Value.WasCancelledSelector); } + set { SetPropertyValueAndDetectChanges(value, ref _wasCancelled, Ps.Value.WasCancelledSelector); } } /// @@ -98,7 +98,7 @@ namespace Umbraco.Core.Models.EntityBase public DateTime UpdateDate { get { return _updateDate; } - set { _updateDate = SetPropertyValueAndDetectChanges(value, _updateDate, Ps.Value.UpdateDateSelector); } + set { SetPropertyValueAndDetectChanges(value, ref _updateDate, Ps.Value.UpdateDateSelector); } } internal virtual void ResetIdentity() @@ -135,7 +135,7 @@ namespace Umbraco.Core.Models.EntityBase { return _hasIdentity; } - protected set { _hasIdentity = SetPropertyValueAndDetectChanges(value, _hasIdentity, Ps.Value.HasIdentitySelector); } + protected set { SetPropertyValueAndDetectChanges(value, ref _hasIdentity, Ps.Value.HasIdentitySelector); } } //TODO: Make this NOT virtual or even exist really! diff --git a/src/Umbraco.Core/Models/EntityBase/TracksChangesEntityBase.cs b/src/Umbraco.Core/Models/EntityBase/TracksChangesEntityBase.cs index 611039072c..407237ad60 100644 --- a/src/Umbraco.Core/Models/EntityBase/TracksChangesEntityBase.cs +++ b/src/Umbraco.Core/Models/EntityBase/TracksChangesEntityBase.cs @@ -199,13 +199,25 @@ namespace Umbraco.Core.Models.EntityBase /// internal void SetPropertyValueAndDetectChanges(T newVal, ref T origVal, PropertyInfo propertySelector, IEqualityComparer comparer) { - //don't track changes, just return the value - if (_changeTrackingEnabled == false) return; - - if (comparer.Equals(origVal, newVal) == false) + //don't track changes, just set the value + if (_changeTrackingEnabled == false) { + //set the original value origVal = newVal; - OnPropertyChanged(propertySelector); + } + else + { + //check changed + var changed = comparer.Equals(origVal, newVal) == false; + + //set the original value + origVal = newVal; + + //raise the event if it was changed + if (changed) + { + OnPropertyChanged(propertySelector); + } } } } diff --git a/src/Umbraco.Core/Models/File.cs b/src/Umbraco.Core/Models/File.cs index cd4296e6a6..e271774b8d 100644 --- a/src/Umbraco.Core/Models/File.cs +++ b/src/Umbraco.Core/Models/File.cs @@ -93,7 +93,7 @@ namespace Umbraco.Core.Models _alias = null; _name = null; - _path = SetPropertyValueAndDetectChanges(SanitizePath(value), _path, Ps.Value.PathSelector); + SetPropertyValueAndDetectChanges(SanitizePath(value), ref _path, Ps.Value.PathSelector); } } @@ -133,9 +133,9 @@ namespace Umbraco.Core.Models } set { - _content = SetPropertyValueAndDetectChanges( + SetPropertyValueAndDetectChanges( value ?? string.Empty, // cannot set to null - _content, Ps.Value.ContentSelector); + ref _content, Ps.Value.ContentSelector); } } diff --git a/src/Umbraco.Core/Models/Language.cs b/src/Umbraco.Core/Models/Language.cs index 0a6f14114d..d915bee85b 100644 --- a/src/Umbraco.Core/Models/Language.cs +++ b/src/Umbraco.Core/Models/Language.cs @@ -36,7 +36,7 @@ namespace Umbraco.Core.Models public string IsoCode { get { return _isoCode; } - set { _isoCode = SetPropertyValueAndDetectChanges(value, _isoCode, Ps.Value.IsoCodeSelector); } + set { SetPropertyValueAndDetectChanges(value, ref _isoCode, Ps.Value.IsoCodeSelector); } } /// @@ -46,7 +46,7 @@ namespace Umbraco.Core.Models public string CultureName { get { return _cultureName; } - set { _cultureName = SetPropertyValueAndDetectChanges(value, _cultureName, Ps.Value.CultureNameSelector); } + set { SetPropertyValueAndDetectChanges(value, ref _cultureName, Ps.Value.CultureNameSelector); } } /// diff --git a/src/Umbraco.Core/Models/Macro.cs b/src/Umbraco.Core/Models/Macro.cs index 476b25ef32..ef5479c316 100644 --- a/src/Umbraco.Core/Models/Macro.cs +++ b/src/Umbraco.Core/Models/Macro.cs @@ -209,7 +209,7 @@ namespace Umbraco.Core.Models public string Alias { get { return _alias; } - set { _alias = SetPropertyValueAndDetectChanges(value.ToCleanString(CleanStringType.Alias), _alias, Ps.Value.AliasSelector); } + set { SetPropertyValueAndDetectChanges(value.ToCleanString(CleanStringType.Alias), ref _alias, Ps.Value.AliasSelector); } } /// @@ -219,7 +219,7 @@ namespace Umbraco.Core.Models public string Name { get { return _name; } - set { _name = SetPropertyValueAndDetectChanges(value, _name, Ps.Value.NameSelector); } + set { SetPropertyValueAndDetectChanges(value, ref _name, Ps.Value.NameSelector); } } /// @@ -229,7 +229,7 @@ namespace Umbraco.Core.Models public bool UseInEditor { get { return _useInEditor; } - set { _useInEditor = SetPropertyValueAndDetectChanges(value, _useInEditor, Ps.Value.UseInEditorSelector); } + set { SetPropertyValueAndDetectChanges(value, ref _useInEditor, Ps.Value.UseInEditorSelector); } } /// @@ -239,7 +239,7 @@ namespace Umbraco.Core.Models public int CacheDuration { get { return _cacheDuration; } - set { _cacheDuration = SetPropertyValueAndDetectChanges(value, _cacheDuration, Ps.Value.CacheDurationSelector); } + set { SetPropertyValueAndDetectChanges(value, ref _cacheDuration, Ps.Value.CacheDurationSelector); } } /// @@ -249,7 +249,7 @@ namespace Umbraco.Core.Models public bool CacheByPage { get { return _cacheByPage; } - set { _cacheByPage = SetPropertyValueAndDetectChanges(value, _cacheByPage, Ps.Value.CacheByPageSelector); } + set { SetPropertyValueAndDetectChanges(value, ref _cacheByPage, Ps.Value.CacheByPageSelector); } } /// @@ -259,7 +259,7 @@ namespace Umbraco.Core.Models public bool CacheByMember { get { return _cacheByMember; } - set { _cacheByMember = SetPropertyValueAndDetectChanges(value, _cacheByMember, Ps.Value.CacheByMemberSelector); } + set { SetPropertyValueAndDetectChanges(value, ref _cacheByMember, Ps.Value.CacheByMemberSelector); } } /// @@ -269,7 +269,7 @@ namespace Umbraco.Core.Models public bool DontRender { get { return _dontRender; } - set { _dontRender = SetPropertyValueAndDetectChanges(value, _dontRender, Ps.Value.DontRenderSelector); } + set { SetPropertyValueAndDetectChanges(value, ref _dontRender, Ps.Value.DontRenderSelector); } } /// @@ -279,7 +279,7 @@ namespace Umbraco.Core.Models public string ControlType { get { return _scriptFile; } - set { _scriptFile = SetPropertyValueAndDetectChanges(value, _scriptFile, Ps.Value.ControlPathSelector); } + set { SetPropertyValueAndDetectChanges(value, ref _scriptFile, Ps.Value.ControlPathSelector); } } /// @@ -290,7 +290,7 @@ namespace Umbraco.Core.Models public string ControlAssembly { get { return _scriptAssembly; } - set { _scriptAssembly = SetPropertyValueAndDetectChanges(value, _scriptAssembly, Ps.Value.ControlAssemblySelector); } + set { SetPropertyValueAndDetectChanges(value, ref _scriptAssembly, Ps.Value.ControlAssemblySelector); } } /// @@ -301,7 +301,7 @@ namespace Umbraco.Core.Models public string ScriptPath { get { return _scriptPath; } - set { _scriptPath = SetPropertyValueAndDetectChanges(value, _scriptPath, Ps.Value.ScriptPathSelector); } + set { SetPropertyValueAndDetectChanges(value, ref _scriptPath, Ps.Value.ScriptPathSelector); } } /// @@ -312,7 +312,7 @@ namespace Umbraco.Core.Models public string XsltPath { get { return _xslt; } - set { _xslt = SetPropertyValueAndDetectChanges(value, _xslt, Ps.Value.XsltPathSelector); } + set { SetPropertyValueAndDetectChanges(value, ref _xslt, Ps.Value.XsltPathSelector); } } /// diff --git a/src/Umbraco.Core/Models/MacroProperty.cs b/src/Umbraco.Core/Models/MacroProperty.cs index e200225292..0f29c18881 100644 --- a/src/Umbraco.Core/Models/MacroProperty.cs +++ b/src/Umbraco.Core/Models/MacroProperty.cs @@ -90,7 +90,7 @@ namespace Umbraco.Core.Models public int Id { get { return _id; } - set { _id = SetPropertyValueAndDetectChanges(value, _id, Ps.Value.IdSelector); } + set { SetPropertyValueAndDetectChanges(value, ref _id, Ps.Value.IdSelector); } } /// @@ -100,7 +100,7 @@ namespace Umbraco.Core.Models public string Alias { get { return _alias; } - set { _alias = SetPropertyValueAndDetectChanges(value, _alias, Ps.Value.AliasSelector); } + set { SetPropertyValueAndDetectChanges(value, ref _alias, Ps.Value.AliasSelector); } } /// @@ -110,7 +110,7 @@ namespace Umbraco.Core.Models public string Name { get { return _name; } - set { _name = SetPropertyValueAndDetectChanges(value, _name, Ps.Value.NameSelector); } + set { SetPropertyValueAndDetectChanges(value, ref _name, Ps.Value.NameSelector); } } /// @@ -120,7 +120,7 @@ namespace Umbraco.Core.Models public int SortOrder { get { return _sortOrder; } - set { _sortOrder = SetPropertyValueAndDetectChanges(value, _sortOrder, Ps.Value.SortOrderSelector); } + set { SetPropertyValueAndDetectChanges(value, ref _sortOrder, Ps.Value.SortOrderSelector); } } /// @@ -139,7 +139,7 @@ namespace Umbraco.Core.Models //try to get the new mapped parameter editor var mapped = LegacyParameterEditorAliasConverter.GetNewAliasFromLegacyAlias(value, false); var newVal = mapped.IsNullOrWhiteSpace() == false ? mapped : value; - _editorAlias = SetPropertyValueAndDetectChanges(newVal, _editorAlias, Ps.Value.PropertyTypeSelector); + SetPropertyValueAndDetectChanges(newVal, ref _editorAlias, Ps.Value.PropertyTypeSelector); } } diff --git a/src/Umbraco.Core/Models/Member.cs b/src/Umbraco.Core/Models/Member.cs index f21e3558f2..02d6b9aece 100644 --- a/src/Umbraco.Core/Models/Member.cs +++ b/src/Umbraco.Core/Models/Member.cs @@ -126,7 +126,7 @@ namespace Umbraco.Core.Models public string Username { get { return _username; } - set { _username = SetPropertyValueAndDetectChanges(value, _username, Ps.Value.UsernameSelector); } + set { SetPropertyValueAndDetectChanges(value, ref _username, Ps.Value.UsernameSelector); } } /// @@ -136,7 +136,7 @@ namespace Umbraco.Core.Models public string Email { get { return _email; } - set { _email = SetPropertyValueAndDetectChanges(value, _email, Ps.Value.EmailSelector); } + set { SetPropertyValueAndDetectChanges(value, ref _email, Ps.Value.EmailSelector); } } /// @@ -146,7 +146,7 @@ namespace Umbraco.Core.Models public string RawPasswordValue { get { return _rawPasswordValue; } - set { _rawPasswordValue = SetPropertyValueAndDetectChanges(value, _rawPasswordValue, Ps.Value.PasswordSelector); } + set { SetPropertyValueAndDetectChanges(value, ref _rawPasswordValue, Ps.Value.PasswordSelector); } } /// @@ -474,7 +474,7 @@ namespace Umbraco.Core.Models { return _providerUserKey; } - set { _providerUserKey = SetPropertyValueAndDetectChanges(value, _providerUserKey, Ps.Value.ProviderUserKeySelector); } + set { SetPropertyValueAndDetectChanges(value, ref _providerUserKey, Ps.Value.ProviderUserKeySelector); } } diff --git a/src/Umbraco.Core/Models/MemberGroup.cs b/src/Umbraco.Core/Models/MemberGroup.cs index 0a3be6c8f2..d6dc1be557 100644 --- a/src/Umbraco.Core/Models/MemberGroup.cs +++ b/src/Umbraco.Core/Models/MemberGroup.cs @@ -43,14 +43,14 @@ namespace Umbraco.Core.Models AdditionalData["previousName"] = _name; } - _name = SetPropertyValueAndDetectChanges(value, _name, Ps.Value.NameSelector); + SetPropertyValueAndDetectChanges(value, ref _name, Ps.Value.NameSelector); } } public int CreatorId { get { return _creatorId; } - set { _creatorId = SetPropertyValueAndDetectChanges(value, _creatorId, Ps.Value.CreatorIdSelector); } + set { SetPropertyValueAndDetectChanges(value, ref _creatorId, Ps.Value.CreatorIdSelector); } } public IDictionary AdditionalData { get; private set; } diff --git a/src/Umbraco.Core/Models/MemberType.cs b/src/Umbraco.Core/Models/MemberType.cs index 6f5dc8a022..4f79e1d231 100644 --- a/src/Umbraco.Core/Models/MemberType.cs +++ b/src/Umbraco.Core/Models/MemberType.cs @@ -59,7 +59,7 @@ namespace Umbraco.Core.Models ? value : (value == null ? string.Empty : value.ToSafeAlias()); - _alias = SetPropertyValueAndDetectChanges(newVal, _alias, Ps.Value.AliasSelector); + SetPropertyValueAndDetectChanges(newVal, ref _alias, Ps.Value.AliasSelector); } } diff --git a/src/Umbraco.Core/Models/Membership/User.cs b/src/Umbraco.Core/Models/Membership/User.cs index c54cfa2035..cadda14508 100644 --- a/src/Umbraco.Core/Models/Membership/User.cs +++ b/src/Umbraco.Core/Models/Membership/User.cs @@ -118,61 +118,61 @@ namespace Umbraco.Core.Models.Membership public string Username { get { return _username; } - set { _username = SetPropertyValueAndDetectChanges(value, _username, Ps.Value.UsernameSelector); } + set { SetPropertyValueAndDetectChanges(value, ref _username, Ps.Value.UsernameSelector); } } [DataMember] public string Email { get { return _email; } - set { _email = SetPropertyValueAndDetectChanges(value, _email, Ps.Value.EmailSelector); } + set { SetPropertyValueAndDetectChanges(value, ref _email, Ps.Value.EmailSelector); } } [DataMember] public string RawPasswordValue { get { return _rawPasswordValue; } - set { _rawPasswordValue = SetPropertyValueAndDetectChanges(value, _rawPasswordValue, Ps.Value.PasswordSelector); } + set { SetPropertyValueAndDetectChanges(value, ref _rawPasswordValue, Ps.Value.PasswordSelector); } } [DataMember] public bool IsApproved { get { return _isApproved; } - set { _isApproved = SetPropertyValueAndDetectChanges(value, _isApproved, Ps.Value.IsApprovedSelector); } + set { SetPropertyValueAndDetectChanges(value, ref _isApproved, Ps.Value.IsApprovedSelector); } } [IgnoreDataMember] public bool IsLockedOut { get { return _isLockedOut; } - set { _isLockedOut = SetPropertyValueAndDetectChanges(value, _isLockedOut, Ps.Value.IsLockedOutSelector); } + set { SetPropertyValueAndDetectChanges(value, ref _isLockedOut, Ps.Value.IsLockedOutSelector); } } [IgnoreDataMember] public DateTime LastLoginDate { get { return _lastLoginDate; } - set { _lastLoginDate = SetPropertyValueAndDetectChanges(value, _lastLoginDate, Ps.Value.LastLoginDateSelector); } + set { SetPropertyValueAndDetectChanges(value, ref _lastLoginDate, Ps.Value.LastLoginDateSelector); } } [IgnoreDataMember] public DateTime LastPasswordChangeDate { get { return _lastPasswordChangedDate; } - set { _lastPasswordChangedDate = SetPropertyValueAndDetectChanges(value, _lastPasswordChangedDate, Ps.Value.LastPasswordChangeDateSelector); } + set { SetPropertyValueAndDetectChanges(value, ref _lastPasswordChangedDate, Ps.Value.LastPasswordChangeDateSelector); } } [IgnoreDataMember] public DateTime LastLockoutDate { get { return _lastLockoutDate; } - set { _lastLockoutDate = SetPropertyValueAndDetectChanges(value, _lastLockoutDate, Ps.Value.LastLockoutDateSelector); } + set { SetPropertyValueAndDetectChanges(value, ref _lastLockoutDate, Ps.Value.LastLockoutDateSelector); } } [IgnoreDataMember] public int FailedPasswordAttempts { get { return _failedLoginAttempts; } - set { _failedLoginAttempts = SetPropertyValueAndDetectChanges(value, _failedLoginAttempts, Ps.Value.FailedPasswordAttemptsSelector); } + set { SetPropertyValueAndDetectChanges(value, ref _failedLoginAttempts, Ps.Value.FailedPasswordAttemptsSelector); } } //TODO: Figure out how to support all of this! - we cannot have NotImplementedExceptions because these get used by the IMembershipMemberService service so @@ -193,7 +193,7 @@ namespace Umbraco.Core.Models.Membership public string Name { get { return _name; } - set { _name = SetPropertyValueAndDetectChanges(value, _name, Ps.Value.NameSelector); } + set { SetPropertyValueAndDetectChanges(value, ref _name, Ps.Value.NameSelector); } } public IEnumerable AllowedSections @@ -229,7 +229,7 @@ namespace Umbraco.Core.Models.Membership public string SecurityStamp { get { return _securityStamp; } - set { _securityStamp = SetPropertyValueAndDetectChanges(value, _securityStamp, Ps.Value.SecurityStampSelector); } + set { SetPropertyValueAndDetectChanges(value, ref _securityStamp, Ps.Value.SecurityStampSelector); } } /// @@ -258,7 +258,7 @@ namespace Umbraco.Core.Models.Membership public int SessionTimeout { get { return _sessionTimeout; } - set { _sessionTimeout = SetPropertyValueAndDetectChanges(value, _sessionTimeout, Ps.Value.SessionTimeoutSelector); } + set { SetPropertyValueAndDetectChanges(value, ref _sessionTimeout, Ps.Value.SessionTimeoutSelector); } } /// @@ -271,7 +271,7 @@ namespace Umbraco.Core.Models.Membership public int StartContentId { get { return _startContentId; } - set { _startContentId = SetPropertyValueAndDetectChanges(value, _startContentId, Ps.Value.StartContentIdSelector); } + set { SetPropertyValueAndDetectChanges(value, ref _startContentId, Ps.Value.StartContentIdSelector); } } /// @@ -284,14 +284,14 @@ namespace Umbraco.Core.Models.Membership public int StartMediaId { get { return _startMediaId; } - set { _startMediaId = SetPropertyValueAndDetectChanges(value, _startMediaId, Ps.Value.StartMediaIdSelector); } + set { SetPropertyValueAndDetectChanges(value, ref _startMediaId, Ps.Value.StartMediaIdSelector); } } [DataMember] public string Language { get { return _language; } - set { _language = SetPropertyValueAndDetectChanges(value, _language, Ps.Value.LanguageSelector); } + set { SetPropertyValueAndDetectChanges(value, ref _language, Ps.Value.LanguageSelector); } } //TODO: This should be a private set @@ -306,7 +306,7 @@ namespace Umbraco.Core.Models.Membership internal bool DefaultToLiveEditing { get { return _defaultToLiveEditing; } - set { _defaultToLiveEditing = SetPropertyValueAndDetectChanges(value, _defaultToLiveEditing, Ps.Value.DefaultToLiveEditingSelector); } + set { SetPropertyValueAndDetectChanges(value, ref _defaultToLiveEditing, Ps.Value.DefaultToLiveEditingSelector); } } [IgnoreDataMember] @@ -320,7 +320,7 @@ namespace Umbraco.Core.Models.Membership throw new InvalidOperationException("Cannot assign a User Type that has not been persisted"); } - _userType = SetPropertyValueAndDetectChanges(value, _userType, Ps.Value.UserTypeSelector); + SetPropertyValueAndDetectChanges(value, ref _userType, Ps.Value.UserTypeSelector); } } diff --git a/src/Umbraco.Core/Models/Membership/UserType.cs b/src/Umbraco.Core/Models/Membership/UserType.cs index 74b561c67c..01183e9d9d 100644 --- a/src/Umbraco.Core/Models/Membership/UserType.cs +++ b/src/Umbraco.Core/Models/Membership/UserType.cs @@ -35,9 +35,9 @@ namespace Umbraco.Core.Models.Membership get { return _alias; } set { - _alias = SetPropertyValueAndDetectChanges( + SetPropertyValueAndDetectChanges( value.ToCleanString(CleanStringType.Alias | CleanStringType.UmbracoCase), - _alias, + ref _alias, Ps.Value.AliasSelector); } } @@ -46,7 +46,7 @@ namespace Umbraco.Core.Models.Membership public string Name { get { return _name; } - set { _name = SetPropertyValueAndDetectChanges(value, _name, Ps.Value.NameSelector); } + set { SetPropertyValueAndDetectChanges(value, ref _name, Ps.Value.NameSelector); } } /// @@ -61,7 +61,7 @@ namespace Umbraco.Core.Models.Membership get { return _permissions; } set { - _permissions = SetPropertyValueAndDetectChanges(value, _permissions, Ps.Value.PermissionsSelector, + SetPropertyValueAndDetectChanges(value, ref _permissions, Ps.Value.PermissionsSelector, //Custom comparer for enumerable new DelegateEqualityComparer>( (enum1, enum2) => enum1.UnsortedSequenceEqual(enum2), diff --git a/src/Umbraco.Core/Models/MigrationEntry.cs b/src/Umbraco.Core/Models/MigrationEntry.cs index 72c6e3cc89..575ee8efc3 100644 --- a/src/Umbraco.Core/Models/MigrationEntry.cs +++ b/src/Umbraco.Core/Models/MigrationEntry.cs @@ -33,13 +33,13 @@ namespace Umbraco.Core.Models public string MigrationName { get { return _migrationName; } - set { _migrationName = SetPropertyValueAndDetectChanges(value, _migrationName, Ps.Value.NameSelector); } + set { SetPropertyValueAndDetectChanges(value, ref _migrationName, Ps.Value.NameSelector); } } public SemVersion Version { get { return _version; } - set { _version = SetPropertyValueAndDetectChanges(value, _version, Ps.Value.VersionSelector); } + set { SetPropertyValueAndDetectChanges(value, ref _version, Ps.Value.VersionSelector); } } } } \ No newline at end of file diff --git a/src/Umbraco.Core/Models/Property.cs b/src/Umbraco.Core/Models/Property.cs index 0833cf0b90..6fd44e2016 100644 --- a/src/Umbraco.Core/Models/Property.cs +++ b/src/Umbraco.Core/Models/Property.cs @@ -103,7 +103,7 @@ namespace Umbraco.Core.Models public Guid Version { get { return _version; } - set { _version = SetPropertyValueAndDetectChanges(value, _version, Ps.Value.VersionSelector); } + set { SetPropertyValueAndDetectChanges(value, ref _version, Ps.Value.VersionSelector); } } /// @@ -171,7 +171,7 @@ namespace Umbraco.Core.Models } } - _value = SetPropertyValueAndDetectChanges(value, _value, Ps.Value.ValueSelector, + SetPropertyValueAndDetectChanges(value, ref _value, Ps.Value.ValueSelector, new DelegateEqualityComparer( (o, o1) => { diff --git a/src/Umbraco.Core/Models/PropertyGroup.cs b/src/Umbraco.Core/Models/PropertyGroup.cs index 49f930a9ea..68f6599e2e 100644 --- a/src/Umbraco.Core/Models/PropertyGroup.cs +++ b/src/Umbraco.Core/Models/PropertyGroup.cs @@ -50,7 +50,7 @@ namespace Umbraco.Core.Models public string Name { get { return _name; } - set { _name = SetPropertyValueAndDetectChanges(value, _name, Ps.Value.NameSelector); } + set { SetPropertyValueAndDetectChanges(value, ref _name, Ps.Value.NameSelector); } } /// @@ -60,7 +60,7 @@ namespace Umbraco.Core.Models public int SortOrder { get { return _sortOrder; } - set { _sortOrder = SetPropertyValueAndDetectChanges(value, _sortOrder, Ps.Value.SortOrderSelector); } + set { SetPropertyValueAndDetectChanges(value, ref _sortOrder, Ps.Value.SortOrderSelector); } } /// diff --git a/src/Umbraco.Core/Models/PropertyType.cs b/src/Umbraco.Core/Models/PropertyType.cs index 0f54b47b5e..cab2861e28 100644 --- a/src/Umbraco.Core/Models/PropertyType.cs +++ b/src/Umbraco.Core/Models/PropertyType.cs @@ -111,7 +111,7 @@ namespace Umbraco.Core.Models public string Name { get { return _name; } - set { _name = SetPropertyValueAndDetectChanges(value, _name, Ps.Value.NameSelector); } + set { SetPropertyValueAndDetectChanges(value, ref _name, Ps.Value.NameSelector); } } /// @@ -121,7 +121,7 @@ namespace Umbraco.Core.Models public string Alias { get { return _alias; } - set { _alias = SetPropertyValueAndDetectChanges(GetAlias(value), _alias, Ps.Value.AliasSelector); } + set { SetPropertyValueAndDetectChanges(GetAlias(value), ref _alias, Ps.Value.AliasSelector); } } /// @@ -131,7 +131,7 @@ namespace Umbraco.Core.Models public string Description { get { return _description; } - set { _description = SetPropertyValueAndDetectChanges(value, _description, Ps.Value.DescriptionSelector); } + set { SetPropertyValueAndDetectChanges(value, ref _description, Ps.Value.DescriptionSelector); } } /// @@ -142,14 +142,14 @@ namespace Umbraco.Core.Models public int DataTypeDefinitionId { get { return _dataTypeDefinitionId; } - set { _dataTypeDefinitionId = SetPropertyValueAndDetectChanges(value, _dataTypeDefinitionId, Ps.Value.DataTypeDefinitionIdSelector); } + set { SetPropertyValueAndDetectChanges(value, ref _dataTypeDefinitionId, Ps.Value.DataTypeDefinitionIdSelector); } } [DataMember] public string PropertyEditorAlias { get { return _propertyEditorAlias; } - set { _propertyEditorAlias = SetPropertyValueAndDetectChanges(value, _propertyEditorAlias, Ps.Value.PropertyEditorAliasSelector); } + set { SetPropertyValueAndDetectChanges(value, ref _propertyEditorAlias, Ps.Value.PropertyEditorAliasSelector); } } /// @@ -183,7 +183,7 @@ namespace Umbraco.Core.Models //don't allow setting this if an explicit declaration has been made in the ctor if (_isExplicitDbType) return; - _dataTypeDatabaseType = SetPropertyValueAndDetectChanges(value, _dataTypeDatabaseType, Ps.Value.DataTypeDatabaseTypeSelector); + SetPropertyValueAndDetectChanges(value, ref _dataTypeDatabaseType, Ps.Value.DataTypeDatabaseTypeSelector); } } @@ -195,7 +195,7 @@ namespace Umbraco.Core.Models internal Lazy PropertyGroupId { get { return _propertyGroupId; } - set { _propertyGroupId = SetPropertyValueAndDetectChanges(value, _propertyGroupId, Ps.Value.PropertyGroupIdSelector); } + set { SetPropertyValueAndDetectChanges(value, ref _propertyGroupId, Ps.Value.PropertyGroupIdSelector); } } /// @@ -205,7 +205,7 @@ namespace Umbraco.Core.Models public bool Mandatory { get { return _mandatory; } - set { _mandatory = SetPropertyValueAndDetectChanges(value, _mandatory, Ps.Value.MandatorySelector); } + set { SetPropertyValueAndDetectChanges(value, ref _mandatory, Ps.Value.MandatorySelector); } } /// @@ -216,7 +216,7 @@ namespace Umbraco.Core.Models public string HelpText { get { return _helpText; } - set { _helpText = SetPropertyValueAndDetectChanges(value, _helpText, Ps.Value.HelpTextSelector); } + set { SetPropertyValueAndDetectChanges(value, ref _helpText, Ps.Value.HelpTextSelector); } } /// @@ -226,7 +226,7 @@ namespace Umbraco.Core.Models public int SortOrder { get { return _sortOrder; } - set { _sortOrder = SetPropertyValueAndDetectChanges(value, _sortOrder, Ps.Value.SortOrderSelector); } + set { SetPropertyValueAndDetectChanges(value, ref _sortOrder, Ps.Value.SortOrderSelector); } } /// @@ -236,7 +236,7 @@ namespace Umbraco.Core.Models public string ValidationRegExp { get { return _validationRegExp; } - set { _validationRegExp = SetPropertyValueAndDetectChanges(value, _validationRegExp, Ps.Value.ValidationRegExpSelector); } + set { SetPropertyValueAndDetectChanges(value, ref _validationRegExp, Ps.Value.ValidationRegExpSelector); } } private string GetAlias(string value) diff --git a/src/Umbraco.Core/Models/PublicAccessEntry.cs b/src/Umbraco.Core/Models/PublicAccessEntry.cs index aedf3f01c1..58e3b69394 100644 --- a/src/Umbraco.Core/Models/PublicAccessEntry.cs +++ b/src/Umbraco.Core/Models/PublicAccessEntry.cs @@ -117,21 +117,21 @@ namespace Umbraco.Core.Models public int LoginNodeId { get { return _loginNodeId; } - set { _loginNodeId = SetPropertyValueAndDetectChanges(value, _loginNodeId, Ps.Value.LoginNodeIdSelector); } + set { SetPropertyValueAndDetectChanges(value, ref _loginNodeId, Ps.Value.LoginNodeIdSelector); } } [DataMember] public int NoAccessNodeId { get { return _noAccessNodeId; } - set { _noAccessNodeId = SetPropertyValueAndDetectChanges(value, _noAccessNodeId, Ps.Value.NoAccessNodeIdSelector); } + set { SetPropertyValueAndDetectChanges(value, ref _noAccessNodeId, Ps.Value.NoAccessNodeIdSelector); } } [DataMember] public int ProtectedNodeId { get { return _protectedNodeId; } - set { _protectedNodeId = SetPropertyValueAndDetectChanges(value, _protectedNodeId, Ps.Value.ProtectedNodeIdSelector); } + set { SetPropertyValueAndDetectChanges(value, ref _protectedNodeId, Ps.Value.ProtectedNodeIdSelector); } } public override void ResetDirtyProperties(bool rememberPreviouslyChangedProperties) diff --git a/src/Umbraco.Core/Models/PublicAccessRule.cs b/src/Umbraco.Core/Models/PublicAccessRule.cs index 74939160a6..ed2cbdbd48 100644 --- a/src/Umbraco.Core/Models/PublicAccessRule.cs +++ b/src/Umbraco.Core/Models/PublicAccessRule.cs @@ -36,13 +36,13 @@ namespace Umbraco.Core.Models public string RuleValue { get { return _ruleValue; } - set { _ruleValue = SetPropertyValueAndDetectChanges(value, _ruleValue, Ps.Value.RuleValueSelector); } + set { SetPropertyValueAndDetectChanges(value, ref _ruleValue, Ps.Value.RuleValueSelector); } } public string RuleType { get { return _ruleType; } - set { _ruleType = SetPropertyValueAndDetectChanges(value, _ruleType, Ps.Value.RuleTypeSelector); } + set { SetPropertyValueAndDetectChanges(value, ref _ruleType, Ps.Value.RuleTypeSelector); } } diff --git a/src/Umbraco.Core/Models/Relation.cs b/src/Umbraco.Core/Models/Relation.cs index 9b593fd371..6d383f9884 100644 --- a/src/Umbraco.Core/Models/Relation.cs +++ b/src/Umbraco.Core/Models/Relation.cs @@ -43,7 +43,7 @@ namespace Umbraco.Core.Models public int ParentId { get { return _parentId; } - set { _parentId = SetPropertyValueAndDetectChanges(value, _parentId, Ps.Value.ParentIdSelector); } + set { SetPropertyValueAndDetectChanges(value, ref _parentId, Ps.Value.ParentIdSelector); } } /// @@ -53,7 +53,7 @@ namespace Umbraco.Core.Models public int ChildId { get { return _childId; } - set { _childId = SetPropertyValueAndDetectChanges(value, _childId, Ps.Value.ChildIdSelector); } + set { SetPropertyValueAndDetectChanges(value, ref _childId, Ps.Value.ChildIdSelector); } } /// @@ -63,7 +63,7 @@ namespace Umbraco.Core.Models public IRelationType RelationType { get { return _relationType; } - set { _relationType = SetPropertyValueAndDetectChanges(value, _relationType, Ps.Value.RelationTypeSelector); } + set { SetPropertyValueAndDetectChanges(value, ref _relationType, Ps.Value.RelationTypeSelector); } } /// @@ -73,7 +73,7 @@ namespace Umbraco.Core.Models public string Comment { get { return _comment; } - set { _comment = SetPropertyValueAndDetectChanges(value, _comment, Ps.Value.CommentSelector); } + set { SetPropertyValueAndDetectChanges(value, ref _comment, Ps.Value.CommentSelector); } } /// diff --git a/src/Umbraco.Core/Models/RelationType.cs b/src/Umbraco.Core/Models/RelationType.cs index 01d193bd16..04ef897c1f 100644 --- a/src/Umbraco.Core/Models/RelationType.cs +++ b/src/Umbraco.Core/Models/RelationType.cs @@ -53,7 +53,7 @@ namespace Umbraco.Core.Models public string Name { get { return _name; } - set { _name = SetPropertyValueAndDetectChanges(value, _name, Ps.Value.NameSelector); } + set { SetPropertyValueAndDetectChanges(value, ref _name, Ps.Value.NameSelector); } } /// @@ -63,7 +63,7 @@ namespace Umbraco.Core.Models public string Alias { get { return _alias; } - set { _alias = SetPropertyValueAndDetectChanges(value, _alias, Ps.Value.AliasSelector); } + set { SetPropertyValueAndDetectChanges(value, ref _alias, Ps.Value.AliasSelector); } } /// @@ -73,7 +73,7 @@ namespace Umbraco.Core.Models public bool IsBidirectional { get { return _isBidrectional; } - set { _isBidrectional = SetPropertyValueAndDetectChanges(value, _isBidrectional, Ps.Value.IsBidirectionalSelector); } + set { SetPropertyValueAndDetectChanges(value, ref _isBidrectional, Ps.Value.IsBidirectionalSelector); } } /// @@ -84,7 +84,7 @@ namespace Umbraco.Core.Models public Guid ParentObjectType { get { return _parentObjectType; } - set { _parentObjectType = SetPropertyValueAndDetectChanges(value, _parentObjectType, Ps.Value.ParentObjectTypeSelector); } + set { SetPropertyValueAndDetectChanges(value, ref _parentObjectType, Ps.Value.ParentObjectTypeSelector); } } /// @@ -95,7 +95,7 @@ namespace Umbraco.Core.Models public Guid ChildObjectType { get { return _childObjectType; } - set { _childObjectType = SetPropertyValueAndDetectChanges(value, _childObjectType, Ps.Value.ChildObjectTypeSelector); } + set { SetPropertyValueAndDetectChanges(value, ref _childObjectType, Ps.Value.ChildObjectTypeSelector); } } } diff --git a/src/Umbraco.Core/Models/ServerRegistration.cs b/src/Umbraco.Core/Models/ServerRegistration.cs index f3758923d5..f68f21d759 100644 --- a/src/Umbraco.Core/Models/ServerRegistration.cs +++ b/src/Umbraco.Core/Models/ServerRegistration.cs @@ -74,7 +74,7 @@ namespace Umbraco.Core.Models public string ServerAddress { get { return _serverAddress; } - set { _serverAddress = SetPropertyValueAndDetectChanges(value, _serverAddress, Ps.Value.ServerAddressSelector); } + set { SetPropertyValueAndDetectChanges(value, ref _serverAddress, Ps.Value.ServerAddressSelector); } } /// @@ -83,7 +83,7 @@ namespace Umbraco.Core.Models public string ServerIdentity { get { return _serverIdentity; } - set { _serverIdentity = SetPropertyValueAndDetectChanges(value, _serverIdentity, Ps.Value.ServerIdentitySelector); } + set { SetPropertyValueAndDetectChanges(value, ref _serverIdentity, Ps.Value.ServerIdentitySelector); } } /// @@ -92,7 +92,7 @@ namespace Umbraco.Core.Models public bool IsActive { get { return _isActive; } - set { _isActive = SetPropertyValueAndDetectChanges(value, _isActive, Ps.Value.IsActiveSelector); } + set { SetPropertyValueAndDetectChanges(value, ref _isActive, Ps.Value.IsActiveSelector); } } /// @@ -101,7 +101,7 @@ namespace Umbraco.Core.Models public bool IsMaster { get { return _isMaster; } - set { _isMaster = SetPropertyValueAndDetectChanges(value, _isMaster, Ps.Value.IsMasterSelector); } + set { SetPropertyValueAndDetectChanges(value, ref _isMaster, Ps.Value.IsMasterSelector); } } /// diff --git a/src/Umbraco.Core/Models/StylesheetProperty.cs b/src/Umbraco.Core/Models/StylesheetProperty.cs index 992f210c2c..b0b2144044 100644 --- a/src/Umbraco.Core/Models/StylesheetProperty.cs +++ b/src/Umbraco.Core/Models/StylesheetProperty.cs @@ -44,7 +44,7 @@ namespace Umbraco.Core.Models public string Alias { get { return _alias; } - set { _alias = SetPropertyValueAndDetectChanges(value, _alias, Ps.Value.AliasSelector); } + set { SetPropertyValueAndDetectChanges(value, ref _alias, Ps.Value.AliasSelector); } } /// @@ -53,7 +53,7 @@ namespace Umbraco.Core.Models public string Value { get { return _value; } - set { _value = SetPropertyValueAndDetectChanges(value, _value, Ps.Value.ValueSelector); } + set { SetPropertyValueAndDetectChanges(value, ref _value, Ps.Value.ValueSelector); } } } diff --git a/src/Umbraco.Core/Models/Tag.cs b/src/Umbraco.Core/Models/Tag.cs index 58e2d0a810..92dfb9dee7 100644 --- a/src/Umbraco.Core/Models/Tag.cs +++ b/src/Umbraco.Core/Models/Tag.cs @@ -41,13 +41,13 @@ namespace Umbraco.Core.Models public string Text { get { return _text; } - set { _text = SetPropertyValueAndDetectChanges(value, _text, Ps.Value.TextSelector); } + set { SetPropertyValueAndDetectChanges(value, ref _text, Ps.Value.TextSelector); } } public string Group { get { return _group; } - set { _group = SetPropertyValueAndDetectChanges(value, _group, Ps.Value.GroupSelector); } + set { SetPropertyValueAndDetectChanges(value, ref _group, Ps.Value.GroupSelector); } } public int NodeCount { get; internal set; } diff --git a/src/Umbraco.Core/Models/Task.cs b/src/Umbraco.Core/Models/Task.cs index a2fab9c1c1..fc6350a13b 100644 --- a/src/Umbraco.Core/Models/Task.cs +++ b/src/Umbraco.Core/Models/Task.cs @@ -43,7 +43,7 @@ namespace Umbraco.Core.Models public bool Closed { get { return _closed; } - set { _closed = SetPropertyValueAndDetectChanges(value, _closed, Ps.Value.ClosedSelector); } + set { SetPropertyValueAndDetectChanges(value, ref _closed, Ps.Value.ClosedSelector); } } /// @@ -53,7 +53,7 @@ namespace Umbraco.Core.Models public TaskType TaskType { get { return _taskType; } - set { _taskType = SetPropertyValueAndDetectChanges(value, _taskType, Ps.Value.TaskTypeSelector); } + set { SetPropertyValueAndDetectChanges(value, ref _taskType, Ps.Value.TaskTypeSelector); } } /// @@ -63,7 +63,7 @@ namespace Umbraco.Core.Models public int EntityId { get { return _entityId; } - set { _entityId = SetPropertyValueAndDetectChanges(value, _entityId, Ps.Value.EntityIdSelector); } + set { SetPropertyValueAndDetectChanges(value, ref _entityId, Ps.Value.EntityIdSelector); } } /// @@ -73,7 +73,7 @@ namespace Umbraco.Core.Models public int OwnerUserId { get { return _ownerUserId; } - set { _ownerUserId = SetPropertyValueAndDetectChanges(value, _ownerUserId, Ps.Value.OwnerUserIdSelector); } + set { SetPropertyValueAndDetectChanges(value, ref _ownerUserId, Ps.Value.OwnerUserIdSelector); } } /// @@ -83,7 +83,7 @@ namespace Umbraco.Core.Models public int AssigneeUserId { get { return _assigneeUserId; } - set { _assigneeUserId = SetPropertyValueAndDetectChanges(value, _assigneeUserId, Ps.Value.AssigneeUserIdSelector); } + set { SetPropertyValueAndDetectChanges(value, ref _assigneeUserId, Ps.Value.AssigneeUserIdSelector); } } /// @@ -93,7 +93,7 @@ namespace Umbraco.Core.Models public string Comment { get { return _comment; } - set { _comment = SetPropertyValueAndDetectChanges(value, _comment, Ps.Value.CommentSelector); } + set { SetPropertyValueAndDetectChanges(value, ref _comment, Ps.Value.CommentSelector); } } } diff --git a/src/Umbraco.Core/Models/TaskType.cs b/src/Umbraco.Core/Models/TaskType.cs index 70b0c572f6..5a1e21e661 100644 --- a/src/Umbraco.Core/Models/TaskType.cs +++ b/src/Umbraco.Core/Models/TaskType.cs @@ -33,7 +33,7 @@ namespace Umbraco.Core.Models public string Alias { get { return _alias; } - set { _alias = SetPropertyValueAndDetectChanges(value, _alias, Ps.Value.AliasSelector); } + set { SetPropertyValueAndDetectChanges(value, ref _alias, Ps.Value.AliasSelector); } } } } \ No newline at end of file diff --git a/src/Umbraco.Core/Models/Template.cs b/src/Umbraco.Core/Models/Template.cs index f46ceee645..5913b0f63b 100644 --- a/src/Umbraco.Core/Models/Template.cs +++ b/src/Umbraco.Core/Models/Template.cs @@ -58,27 +58,27 @@ namespace Umbraco.Core.Models public Lazy MasterTemplateId { get { return _masterTemplateId; } - set { _masterTemplateId = SetPropertyValueAndDetectChanges(value, _masterTemplateId, Ps.Value.MasterTemplateIdSelector); } + set { SetPropertyValueAndDetectChanges(value, ref _masterTemplateId, Ps.Value.MasterTemplateIdSelector); } } public string MasterTemplateAlias { get { return _masterTemplateAlias; } - set { _masterTemplateAlias = SetPropertyValueAndDetectChanges(value, _masterTemplateAlias, Ps.Value.MasterTemplateAliasSelector); } + set { SetPropertyValueAndDetectChanges(value, ref _masterTemplateAlias, Ps.Value.MasterTemplateAliasSelector); } } [DataMember] public new string Name { get { return _name; } - set { _name = SetPropertyValueAndDetectChanges(value, _name, Ps.Value.NameSelector); } + set { SetPropertyValueAndDetectChanges(value, ref _name, Ps.Value.NameSelector); } } [DataMember] public new string Alias { get { return _alias; } - set { _alias = SetPropertyValueAndDetectChanges(value.ToCleanString(CleanStringType.UnderscoreAlias), _alias, Ps.Value.AliasSelector); } + set { SetPropertyValueAndDetectChanges(value.ToCleanString(CleanStringType.UnderscoreAlias), ref _alias, Ps.Value.AliasSelector); } } /// diff --git a/src/Umbraco.Core/Models/UmbracoDomain.cs b/src/Umbraco.Core/Models/UmbracoDomain.cs index fc350df4a6..8a3ef94d5b 100644 --- a/src/Umbraco.Core/Models/UmbracoDomain.cs +++ b/src/Umbraco.Core/Models/UmbracoDomain.cs @@ -37,21 +37,21 @@ namespace Umbraco.Core.Models public int? LanguageId { get { return _languageId; } - set { _languageId = SetPropertyValueAndDetectChanges(value, _languageId, Ps.Value.DefaultLanguageSelector); } + set { SetPropertyValueAndDetectChanges(value, ref _languageId, Ps.Value.DefaultLanguageSelector); } } [DataMember] public string DomainName { get { return _domainName; } - set { _domainName = SetPropertyValueAndDetectChanges(value, _domainName, Ps.Value.DomainNameSelector); } + set { SetPropertyValueAndDetectChanges(value, ref _domainName, Ps.Value.DomainNameSelector); } } [DataMember] public int? RootContentId { get { return _contentId; } - set { _contentId = SetPropertyValueAndDetectChanges(value, _contentId, Ps.Value.ContentSelector); } + set { SetPropertyValueAndDetectChanges(value, ref _contentId, Ps.Value.ContentSelector); } } public bool IsWildcard diff --git a/src/Umbraco.Core/Models/UmbracoEntity.cs b/src/Umbraco.Core/Models/UmbracoEntity.cs index 2a8b1791ae..48752468d5 100644 --- a/src/Umbraco.Core/Models/UmbracoEntity.cs +++ b/src/Umbraco.Core/Models/UmbracoEntity.cs @@ -72,43 +72,43 @@ namespace Umbraco.Core.Models public int CreatorId { get { return _creatorId; } - set { _creatorId = SetPropertyValueAndDetectChanges(value, _creatorId, Ps.Value.CreatorIdSelector); } + set { SetPropertyValueAndDetectChanges(value, ref _creatorId, Ps.Value.CreatorIdSelector); } } public int Level { get { return _level; } - set { _level = SetPropertyValueAndDetectChanges(value, _level, Ps.Value.LevelSelector); } + set { SetPropertyValueAndDetectChanges(value, ref _level, Ps.Value.LevelSelector); } } public string Name { get { return _name; } - set { _name = SetPropertyValueAndDetectChanges(value, _name, Ps.Value.NameSelector); } + set { SetPropertyValueAndDetectChanges(value, ref _name, Ps.Value.NameSelector); } } public int ParentId { get { return _parentId; } - set { _parentId = SetPropertyValueAndDetectChanges(value, _parentId, Ps.Value.ParentIdSelector); } + set { SetPropertyValueAndDetectChanges(value, ref _parentId, Ps.Value.ParentIdSelector); } } public string Path { get { return _path; } - set { _path = SetPropertyValueAndDetectChanges(value, _path, Ps.Value.PathSelector); } + set { SetPropertyValueAndDetectChanges(value, ref _path, Ps.Value.PathSelector); } } public int SortOrder { get { return _sortOrder; } - set { _sortOrder = SetPropertyValueAndDetectChanges(value, _sortOrder, Ps.Value.SortOrderSelector); } + set { SetPropertyValueAndDetectChanges(value, ref _sortOrder, Ps.Value.SortOrderSelector); } } public bool Trashed { get { return _trashed; } - private set { _trashed = SetPropertyValueAndDetectChanges(value, _trashed, Ps.Value.TrashedSelector); } + private set { SetPropertyValueAndDetectChanges(value, ref _trashed, Ps.Value.TrashedSelector); } } public IDictionary AdditionalData { get; private set; } @@ -119,7 +119,7 @@ namespace Umbraco.Core.Models get { return _hasChildren; } set { - _hasChildren = SetPropertyValueAndDetectChanges(value, _hasChildren, Ps.Value.HasChildrenSelector); + SetPropertyValueAndDetectChanges(value, ref _hasChildren, Ps.Value.HasChildrenSelector); //This is a custom property that is not exposed in IUmbracoEntity so add it to the additional data AdditionalData["HasChildren"] = value; } @@ -130,7 +130,7 @@ namespace Umbraco.Core.Models get { return _isPublished; } set { - _isPublished = SetPropertyValueAndDetectChanges(value, _isPublished, Ps.Value.IsPublishedSelector); + SetPropertyValueAndDetectChanges(value, ref _isPublished, Ps.Value.IsPublishedSelector); //This is a custom property that is not exposed in IUmbracoEntity so add it to the additional data AdditionalData["IsPublished"] = value; } @@ -141,7 +141,7 @@ namespace Umbraco.Core.Models get { return _isDraft; } set { - _isDraft = SetPropertyValueAndDetectChanges(value, _isDraft, Ps.Value.IsDraftSelector); + SetPropertyValueAndDetectChanges(value, ref _isDraft, Ps.Value.IsDraftSelector); //This is a custom property that is not exposed in IUmbracoEntity so add it to the additional data AdditionalData["IsDraft"] = value; } @@ -152,7 +152,7 @@ namespace Umbraco.Core.Models get { return _hasPendingChanges; } set { - _hasPendingChanges = SetPropertyValueAndDetectChanges(value, _hasPendingChanges, Ps.Value.HasPendingChangesSelector); + SetPropertyValueAndDetectChanges(value, ref _hasPendingChanges, Ps.Value.HasPendingChangesSelector); //This is a custom property that is not exposed in IUmbracoEntity so add it to the additional data AdditionalData["HasPendingChanges"] = value; } @@ -163,7 +163,7 @@ namespace Umbraco.Core.Models get { return _contentTypeAlias; } set { - _contentTypeAlias = SetPropertyValueAndDetectChanges(value, _contentTypeAlias, Ps.Value.ContentTypeAliasSelector); + SetPropertyValueAndDetectChanges(value, ref _contentTypeAlias, Ps.Value.ContentTypeAliasSelector); //This is a custom property that is not exposed in IUmbracoEntity so add it to the additional data AdditionalData["ContentTypeAlias"] = value; } @@ -174,7 +174,7 @@ namespace Umbraco.Core.Models get { return _contentTypeIcon; } set { - _contentTypeIcon = SetPropertyValueAndDetectChanges(value, _contentTypeIcon, Ps.Value.ContentTypeIconSelector); + SetPropertyValueAndDetectChanges(value, ref _contentTypeIcon, Ps.Value.ContentTypeIconSelector); //This is a custom property that is not exposed in IUmbracoEntity so add it to the additional data AdditionalData["ContentTypeIcon"] = value; } @@ -185,7 +185,7 @@ namespace Umbraco.Core.Models get { return _contentTypeThumbnail; } set { - _contentTypeThumbnail = SetPropertyValueAndDetectChanges(value, _contentTypeThumbnail, Ps.Value.ContentTypeThumbnailSelector); + SetPropertyValueAndDetectChanges(value, ref _contentTypeThumbnail, Ps.Value.ContentTypeThumbnailSelector); //This is a custom property that is not exposed in IUmbracoEntity so add it to the additional data AdditionalData["ContentTypeThumbnail"] = value; } @@ -196,7 +196,7 @@ namespace Umbraco.Core.Models get { return _nodeObjectTypeId; } set { - _nodeObjectTypeId = SetPropertyValueAndDetectChanges(value, _nodeObjectTypeId, Ps.Value.NodeObjectTypeIdSelector); + SetPropertyValueAndDetectChanges(value, ref _nodeObjectTypeId, Ps.Value.NodeObjectTypeIdSelector); //This is a custom property that is not exposed in IUmbracoEntity so add it to the additional data AdditionalData["NodeObjectTypeId"] = value; }