|
|
|
|
@ -26,7 +26,7 @@ namespace Volo.Abp.Domain.Entities.Events.Distributed
|
|
|
|
|
)
|
|
|
|
|
);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Adds a specific entity type and the types derived from that entity type.
|
|
|
|
|
/// </summary>
|
|
|
|
|
@ -49,14 +49,27 @@ namespace Volo.Abp.Domain.Entities.Events.Distributed
|
|
|
|
|
)
|
|
|
|
|
);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Remove a specific entity type and the types derived from that entity type.
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <typeparam name="TEntity">Type of the entity</typeparam>
|
|
|
|
|
public static void Remove<TEntity>([NotNull] this IAutoEntityDistributedEventSelectorList selectors)
|
|
|
|
|
where TEntity : IEntity
|
|
|
|
|
{
|
|
|
|
|
Check.NotNull(selectors, nameof(selectors));
|
|
|
|
|
|
|
|
|
|
var selectorName = "Entity:" + typeof(TEntity).FullName;
|
|
|
|
|
selectors.RemoveAll(s => s.Name == selectorName);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Adds all entity types.
|
|
|
|
|
/// </summary>
|
|
|
|
|
public static void AddAll([NotNull] this IAutoEntityDistributedEventSelectorList selectors)
|
|
|
|
|
{
|
|
|
|
|
Check.NotNull(selectors, nameof(selectors));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (selectors.Any(s => s.Name == AllEntitiesSelectorName))
|
|
|
|
|
{
|
|
|
|
|
return;
|
|
|
|
|
@ -72,11 +85,11 @@ namespace Volo.Abp.Domain.Entities.Events.Distributed
|
|
|
|
|
|
|
|
|
|
public static void Add(
|
|
|
|
|
[NotNull] this IAutoEntityDistributedEventSelectorList selectors,
|
|
|
|
|
string selectorName,
|
|
|
|
|
string selectorName,
|
|
|
|
|
Func<Type, bool> predicate)
|
|
|
|
|
{
|
|
|
|
|
Check.NotNull(selectors, nameof(selectors));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (selectors.Any(s => s.Name == selectorName))
|
|
|
|
|
{
|
|
|
|
|
throw new AbpException($"There is already a selector added before with the same name: {selectorName}");
|
|
|
|
|
@ -89,7 +102,7 @@ namespace Volo.Abp.Domain.Entities.Events.Distributed
|
|
|
|
|
)
|
|
|
|
|
);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public static void Add(
|
|
|
|
|
[NotNull] this IAutoEntityDistributedEventSelectorList selectors,
|
|
|
|
|
Func<Type, bool> predicate)
|
|
|
|
|
@ -103,15 +116,15 @@ namespace Volo.Abp.Domain.Entities.Events.Distributed
|
|
|
|
|
{
|
|
|
|
|
Check.NotNull(selectors, nameof(selectors));
|
|
|
|
|
Check.NotNull(name, nameof(name));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return selectors.RemoveAll(s => s.Name == name).Count > 0;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public static bool IsMatch([NotNull] this IAutoEntityDistributedEventSelectorList selectors, Type entityType)
|
|
|
|
|
{
|
|
|
|
|
Check.NotNull(selectors, nameof(selectors));
|
|
|
|
|
return selectors.Any(s => s.Predicate(entityType));
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|