From 3e40389819c57a5edc98f592bf250ed0a53d10bc Mon Sep 17 00:00:00 2001 From: Andy Butland Date: Sat, 28 Mar 2020 14:55:03 +0100 Subject: [PATCH] PR review amends on key value model and repository classes. --- src/Umbraco.Core/Models/IKeyValue.cs | 2 -- src/Umbraco.Core/Models/KeyValue.cs | 5 +++-- .../Implement/KeyValueRepository.cs | 18 +++--------------- .../Implement/RepositoryBaseOfTIdTEntity.cs | 2 +- 4 files changed, 7 insertions(+), 20 deletions(-) diff --git a/src/Umbraco.Core/Models/IKeyValue.cs b/src/Umbraco.Core/Models/IKeyValue.cs index 7396ae1b68..6025d4d37b 100644 --- a/src/Umbraco.Core/Models/IKeyValue.cs +++ b/src/Umbraco.Core/Models/IKeyValue.cs @@ -8,7 +8,5 @@ namespace Umbraco.Core.Models string Identifier { get; set; } string Value { get; set; } - - DateTime UpdateDate { get; set; } } } diff --git a/src/Umbraco.Core/Models/KeyValue.cs b/src/Umbraco.Core/Models/KeyValue.cs index ba98b577a4..2d47fcbfb3 100644 --- a/src/Umbraco.Core/Models/KeyValue.cs +++ b/src/Umbraco.Core/Models/KeyValue.cs @@ -9,11 +9,10 @@ namespace Umbraco.Core.Models /// [Serializable] [DataContract(IsReference = true)] - public class KeyValue : EntityBase, IKeyValue + public class KeyValue : EntityBase, IKeyValue, IEntity { private string _identifier; private string _value; - private DateTime _updateDate; /// public string Identifier @@ -28,5 +27,7 @@ namespace Umbraco.Core.Models get => _value; set => SetPropertyValueAndDetectChanges(value, ref _value, nameof(Value)); } + + bool IEntity.HasIdentity => !string.IsNullOrEmpty(Identifier); } } diff --git a/src/Umbraco.Infrastructure/Persistence/Repositories/Implement/KeyValueRepository.cs b/src/Umbraco.Infrastructure/Persistence/Repositories/Implement/KeyValueRepository.cs index eab4049ec9..094c83b05f 100644 --- a/src/Umbraco.Infrastructure/Persistence/Repositories/Implement/KeyValueRepository.cs +++ b/src/Umbraco.Infrastructure/Persistence/Repositories/Implement/KeyValueRepository.cs @@ -33,21 +33,9 @@ namespace Umbraco.Core.Persistence.Repositories.Implement return database.FirstOrDefault(sql)?.Value; } - #region Overrides of IReadWriteQueryRepository - - public override void Save(IKeyValue entity) - { - if (Get(entity.Identifier) == null) - PersistNewItem(entity); - else - PersistUpdatedItem(entity); - } - - #endregion - #region Overrides of NPocoRepositoryBase - protected override Guid NodeObjectTypeId => throw new NotImplementedException(); + protected override Guid NodeObjectTypeId => throw new NotSupportedException(); protected override Sql GetBaseQuery(bool isCount) { @@ -70,7 +58,7 @@ namespace Umbraco.Core.Persistence.Repositories.Implement protected override IEnumerable GetDeleteClauses() { - return new List(); + return Enumerable.Empty(); } protected override IKeyValue PerformGet(string id) @@ -89,7 +77,7 @@ namespace Umbraco.Core.Persistence.Repositories.Implement protected override IEnumerable PerformGetByQuery(IQuery query) { - throw new NotImplementedException(); + throw new NotSupportedException(); } protected override void PersistNewItem(IKeyValue entity) diff --git a/src/Umbraco.Infrastructure/Persistence/Repositories/Implement/RepositoryBaseOfTIdTEntity.cs b/src/Umbraco.Infrastructure/Persistence/Repositories/Implement/RepositoryBaseOfTIdTEntity.cs index 6985bf78da..e8397ba22a 100644 --- a/src/Umbraco.Infrastructure/Persistence/Repositories/Implement/RepositoryBaseOfTIdTEntity.cs +++ b/src/Umbraco.Infrastructure/Persistence/Repositories/Implement/RepositoryBaseOfTIdTEntity.cs @@ -132,7 +132,7 @@ namespace Umbraco.Core.Persistence.Repositories.Implement /// /// This method is backed by an cache /// - public virtual void Save(TEntity entity) + public void Save(TEntity entity) { if (entity.HasIdentity == false) CachePolicy.Create(entity, PersistNewItem);