Browse Source

Another minor fix.

pull/470/head
Sebastian 6 years ago
parent
commit
d6517ace27
  1. 2
      backend/src/Squidex.Domain.Apps.Entities/Assets/State/AssetFolderState.cs
  2. 27
      backend/src/Squidex.Domain.Apps.Entities/Assets/State/AssetState.cs
  3. 12
      backend/src/Squidex.Infrastructure/Commands/Is.cs

2
backend/src/Squidex.Domain.Apps.Entities/Assets/State/AssetFolderState.cs

@ -42,7 +42,7 @@ namespace Squidex.Domain.Apps.Entities.Assets.State
return true;
}
case AssetFolderRenamed e when Is.ChangeWhenDefined(FolderName, e.FolderName):
case AssetFolderRenamed e when Is.OptionalChange(FolderName, e.FolderName):
{
FolderName = e.FolderName;

27
backend/src/Squidex.Domain.Apps.Entities/Assets/State/AssetState.cs

@ -86,6 +86,8 @@ namespace Squidex.Domain.Apps.Entities.Assets.State
TotalSize += e.FileSize;
EnsureProperties();
return true;
}
@ -95,6 +97,8 @@ namespace Squidex.Domain.Apps.Entities.Assets.State
TotalSize += e.FileSize;
EnsureProperties();
return true;
}
@ -102,34 +106,36 @@ namespace Squidex.Domain.Apps.Entities.Assets.State
{
var hasChanged = false;
if (Is.ChangeWhenDefined(FileName, e.FileName))
if (Is.OptionalChange(FileName, e.FileName))
{
FileName = e.FileName;
hasChanged = true;
}
if (Is.ChangeWhenDefined(Slug, e.Slug))
if (Is.OptionalChange(Slug, e.Slug))
{
Slug = e.Slug;
hasChanged = true;
}
if (Is.Change(Tags, e.Tags))
if (Is.OptionalChange(Tags, e.Tags))
{
Tags = e.Tags;
hasChanged = true;
}
if (Is.Change(Metadata, e.Metadata))
if (Is.OptionalChange(Metadata, e.Metadata))
{
Metadata = e.Metadata;
hasChanged = true;
}
EnsureProperties();
return hasChanged;
}
@ -150,5 +156,18 @@ namespace Squidex.Domain.Apps.Entities.Assets.State
return false;
}
private void EnsureProperties()
{
if (Tags == null)
{
Tags = new HashSet<string>();
}
if (Metadata == null)
{
Metadata = new AssetMetadata();
}
}
}
}

12
backend/src/Squidex.Infrastructure/Commands/Is.cs

@ -18,24 +18,24 @@ namespace Squidex.Infrastructure.Commands
return !Equals(oldValue, newValue);
}
public static bool Change(string? oldValue, string newValue)
public static bool Change(string oldValue, string newValue)
{
return !Equals(oldValue, newValue);
}
public static bool ChangeWhenDefined(string? oldValue, string? newValue)
public static bool OptionalChange(string oldValue, string? newValue)
{
return !string.IsNullOrWhiteSpace(newValue) && !string.Equals(oldValue, newValue);
}
public static bool Change<T>(ISet<T>? oldValue, [NotNullWhen(true)] ISet<T>? newValue)
public static bool OptionalChange<T>(ISet<T> oldValue, [NotNullWhen(true)] ISet<T>? newValue)
{
return newValue != null && (oldValue == null || !newValue.SetEquals(oldValue));
return newValue != null && !newValue.SetEquals(oldValue);
}
public static bool Change<TKey, TValue>(IReadOnlyDictionary<TKey, TValue>? oldValue, [NotNullWhen(true)] IReadOnlyDictionary<TKey, TValue>? newValue) where TKey : notnull
public static bool OptionalChange<TKey, TValue>(IReadOnlyDictionary<TKey, TValue> oldValue, [NotNullWhen(true)] IReadOnlyDictionary<TKey, TValue>? newValue) where TKey : notnull
{
return newValue != null && (oldValue == null || !newValue.EqualsDictionary(oldValue));
return newValue != null && !newValue.EqualsDictionary(oldValue);
}
}
}
Loading…
Cancel
Save