Browse Source

Refactor: Re-order methods.

pull/13644/head
Halil İbrahim Kalkan 4 years ago
parent
commit
e1a09e48a1
  1. 10
      modules/permission-management/src/Volo.Abp.PermissionManagement.Domain/Volo/Abp/PermissionManagement/IPermissionDefinitionSerializer.cs
  2. 82
      modules/permission-management/src/Volo.Abp.PermissionManagement.Domain/Volo/Abp/PermissionManagement/PermissionDefinitionSerializer.cs

10
modules/permission-management/src/Volo.Abp.PermissionManagement.Domain/Volo/Abp/PermissionManagement/IPermissionDefinitionSerializer.cs

@ -7,13 +7,13 @@ namespace Volo.Abp.PermissionManagement;
public interface IPermissionDefinitionSerializer
{
Task<PermissionDefinitionRecord> SerializeAsync(
PermissionDefinition permission,
[CanBeNull] PermissionGroupDefinition permissionGroup);
Task<(PermissionGroupDefinitionRecord[], PermissionDefinitionRecord[])>
SerializeAsync(IEnumerable<PermissionGroupDefinition> permissionGroups);
Task<PermissionGroupDefinitionRecord> SerializeAsync(
PermissionGroupDefinition permissionGroup);
Task<(PermissionGroupDefinitionRecord[], PermissionDefinitionRecord[])>
SerializeAsync(IEnumerable<PermissionGroupDefinition> permissionGroups);
Task<PermissionDefinitionRecord> SerializeAsync(
PermissionDefinition permission,
[CanBeNull] PermissionGroupDefinition permissionGroup);
}

82
modules/permission-management/src/Volo.Abp.PermissionManagement.Domain/Volo/Abp/PermissionManagement/PermissionDefinitionSerializer.cs

@ -27,34 +27,26 @@ public class PermissionDefinitionSerializer : IPermissionDefinitionSerializer, I
GuidGenerator = guidGenerator;
StringLocalizerFactory = stringLocalizerFactory;
}
public Task<PermissionDefinitionRecord> SerializeAsync(
PermissionDefinition permission,
PermissionGroupDefinition permissionGroup)
public async Task<(PermissionGroupDefinitionRecord[], PermissionDefinitionRecord[])>
SerializeAsync(IEnumerable<PermissionGroupDefinition> permissionGroups)
{
using (CultureHelper.Use(CultureInfo.InvariantCulture))
var permissionGroupRecords = new List<PermissionGroupDefinitionRecord>();
var permissionRecords = new List<PermissionDefinitionRecord>();
foreach (var permissionGroup in permissionGroups)
{
var permissionRecord = new PermissionDefinitionRecord(
GuidGenerator.Create(),
permissionGroup?.Name,
permission.Name,
permission.Parent?.Name,
permission.DisplayName.Localize(StringLocalizerFactory),
permission.IsEnabled,
permission.MultiTenancySide,
SerializeProviders(permission.Providers),
SerializeStateCheckers(permission.StateCheckers)
);
foreach (var property in permission.Properties)
permissionGroupRecords.Add(await SerializeAsync(permissionGroup));
foreach (var permission in permissionGroup.GetPermissionsWithChildren())
{
permissionRecord.SetProperty(property.Key, property.Value);
permissionRecords.Add(await SerializeAsync(permission, permissionGroup));
}
return Task.FromResult(permissionRecord);
}
}
return (permissionGroupRecords.ToArray(), permissionRecords.ToArray());
}
public Task<PermissionGroupDefinitionRecord> SerializeAsync(PermissionGroupDefinition permissionGroup)
{
using (CultureHelper.Use(CultureInfo.InvariantCulture))
@ -73,35 +65,43 @@ public class PermissionDefinitionSerializer : IPermissionDefinitionSerializer, I
return Task.FromResult(permissionGroupRecord);
}
}
public async Task<(PermissionGroupDefinitionRecord[], PermissionDefinitionRecord[])>
SerializeAsync(IEnumerable<PermissionGroupDefinition> permissionGroups)
public Task<PermissionDefinitionRecord> SerializeAsync(
PermissionDefinition permission,
PermissionGroupDefinition permissionGroup)
{
var permissionGroupRecords = new List<PermissionGroupDefinitionRecord>();
var permissionRecords = new List<PermissionDefinitionRecord>();
foreach (var permissionGroup in permissionGroups)
using (CultureHelper.Use(CultureInfo.InvariantCulture))
{
permissionGroupRecords.Add(await SerializeAsync(permissionGroup));
foreach (var permission in permissionGroup.GetPermissionsWithChildren())
var permissionRecord = new PermissionDefinitionRecord(
GuidGenerator.Create(),
permissionGroup?.Name,
permission.Name,
permission.Parent?.Name,
permission.DisplayName.Localize(StringLocalizerFactory),
permission.IsEnabled,
permission.MultiTenancySide,
SerializeProviders(permission.Providers),
SerializeStateCheckers(permission.StateCheckers)
);
foreach (var property in permission.Properties)
{
permissionRecords.Add(await SerializeAsync(permission, permissionGroup));
permissionRecord.SetProperty(property.Key, property.Value);
}
return Task.FromResult(permissionRecord);
}
return (permissionGroupRecords.ToArray(), permissionRecords.ToArray());
}
protected virtual string SerializeStateCheckers(List<ISimpleStateChecker<PermissionDefinition>> stateCheckers)
{
return StateCheckerSerializer.Serialize(stateCheckers);
}
protected virtual string SerializeProviders(ICollection<string> providers)
{
return providers.Any()
? providers.JoinAsString(",")
: null;
}
protected virtual string SerializeStateCheckers(List<ISimpleStateChecker<PermissionDefinition>> stateCheckers)
{
return StateCheckerSerializer.Serialize(stateCheckers);
}
}
Loading…
Cancel
Save