Browse Source

Add methods to perform object extension configuration for multiple types at once.

pull/3488/head
Halil İbrahim Kalkan 7 years ago
parent
commit
c9e0ae2e42
  1. 15
      framework/src/Volo.Abp.ObjectExtending/Volo/Abp/ObjectExtending/ObjectExtensionManager.cs
  2. 41
      framework/src/Volo.Abp.ObjectExtending/Volo/Abp/ObjectExtending/ObjectExtensionManagerExtensions.cs

15
framework/src/Volo.Abp.ObjectExtending/Volo/Abp/ObjectExtending/ObjectExtensionManager.cs

@ -25,6 +25,21 @@ namespace Volo.Abp.ObjectExtending
return AddOrUpdate(typeof(TObject), configureAction); return AddOrUpdate(typeof(TObject), configureAction);
} }
[NotNull]
public virtual ObjectExtensionManager AddOrUpdate(
[NotNull] Type[] types,
[CanBeNull] Action<ObjectExtensionInfo> configureAction = null)
{
Check.NotNull(types, nameof(types));
foreach (var type in types)
{
AddOrUpdate(type, configureAction);
}
return this;
}
[NotNull] [NotNull]
public virtual ObjectExtensionManager AddOrUpdate( public virtual ObjectExtensionManager AddOrUpdate(
[NotNull] Type type, [NotNull] Type type,

41
framework/src/Volo.Abp.ObjectExtending/Volo/Abp/ObjectExtending/ObjectExtensionManagerExtensions.cs

@ -6,10 +6,25 @@ namespace Volo.Abp.ObjectExtending
{ {
public static class ObjectExtensionManagerExtensions public static class ObjectExtensionManagerExtensions
{ {
[NotNull]
public static ObjectExtensionManager AddOrUpdateProperty<TProperty>(
[NotNull] this ObjectExtensionManager objectExtensionManager,
[NotNull] Type[] objectTypes,
[NotNull] string propertyName,
[CanBeNull] Action<ObjectExtensionPropertyInfo> configureAction = null)
{
return objectExtensionManager.AddOrUpdateProperty(
objectTypes,
typeof(TProperty),
propertyName, configureAction
);
}
[NotNull]
public static ObjectExtensionManager AddOrUpdateProperty<TObject, TProperty>( public static ObjectExtensionManager AddOrUpdateProperty<TObject, TProperty>(
[NotNull] this ObjectExtensionManager objectExtensionManager, [NotNull] this ObjectExtensionManager objectExtensionManager,
[NotNull] string propertyName, [NotNull] string propertyName,
[CanBeNull] Action<ObjectExtensionPropertyInfo> configureAction = null) [CanBeNull] Action<ObjectExtensionPropertyInfo> configureAction = null)
where TObject : IHasExtraProperties where TObject : IHasExtraProperties
{ {
return objectExtensionManager.AddOrUpdateProperty( return objectExtensionManager.AddOrUpdateProperty(
@ -20,6 +35,30 @@ namespace Volo.Abp.ObjectExtending
); );
} }
[NotNull]
public static ObjectExtensionManager AddOrUpdateProperty(
[NotNull] this ObjectExtensionManager objectExtensionManager,
[NotNull] Type[] objectTypes,
[NotNull] Type propertyType,
[NotNull] string propertyName,
[CanBeNull] Action<ObjectExtensionPropertyInfo> configureAction = null)
{
Check.NotNull(objectTypes, nameof(objectTypes));
foreach (var objectType in objectTypes)
{
objectExtensionManager.AddOrUpdateProperty(
objectType,
propertyType,
propertyName,
configureAction
);
}
return objectExtensionManager;
}
[NotNull]
public static ObjectExtensionManager AddOrUpdateProperty( public static ObjectExtensionManager AddOrUpdateProperty(
[NotNull] this ObjectExtensionManager objectExtensionManager, [NotNull] this ObjectExtensionManager objectExtensionManager,
[NotNull] Type objectType, [NotNull] Type objectType,

Loading…
Cancel
Save