Browse Source

Stream name fixes.

pull/249/head
Sebastian Stehle 9 years ago
parent
commit
a18d744ad5
  1. 11
      src/Squidex.Infrastructure/States/DefaultStreamNameResolver.cs

11
src/Squidex.Infrastructure/States/DefaultStreamNameResolver.cs

@ -11,15 +11,20 @@ namespace Squidex.Infrastructure.States
{
public sealed class DefaultStreamNameResolver : IStreamNameResolver
{
private const string Suffix = "DomainObject";
private static readonly string[] Suffixes = new string[] { "DomainObject", "Grain" };
public string GetStreamName(Type aggregateType, string id)
{
var typeName = char.ToLower(aggregateType.Name[0]) + aggregateType.Name.Substring(1);
if (typeName.EndsWith(Suffix, StringComparison.Ordinal))
foreach (var suffix in Suffixes)
{
typeName = typeName.Substring(0, typeName.Length - Suffix.Length);
if (typeName.EndsWith(suffix, StringComparison.Ordinal))
{
typeName = typeName.Substring(0, typeName.Length - suffix.Length);
break;
}
}
return $"{typeName}-{id}";

Loading…
Cancel
Save