internal SecurityEntry[] SetAcl(SnAccessControlList acl)
{
var result = new List<SecurityEntry>();
//var acl0 = GetAcl(nodeId, path, creatorId);
foreach (var entry in acl.Entries)
{
var values = new PermissionValue[ActiveSchema.PermissionTypes.Count];
foreach (var perm in entry.Permissions)
{
//var id = ActiveSchema.PermissionTypes[perm.Name].Id;
//var allow = perm.AllowFrom == null ? perm.Allow : false;
//var deny = perm.DenyFrom == null ? perm.Deny : false;
//var value = deny ? PermissionValue.Deny : (allow ? PermissionValue.Allow : PermissionValue.NonDefined);
//values[id - 1] = value;
var id = ActiveSchema.PermissionTypes[perm.Name].Id;
var value = perm.Deny ? PermissionValue.Deny : (perm.Allow ? PermissionValue.Allow : PermissionValue.NonDefined);
values[id - 1] = value;
}
result.Add(new SecurityEntry(acl.NodeId, entry.Identity.NodeId, entry.Propagates, values));
}
return result.ToArray();
}