public Permission FetchPermissionForGroupWithParent(Group group) { Permission per = new Permission(); if (per.CalculatePermissions(group.Permission).HasNull()) { if (group.Parent != null) { per.CalculatePermissions(FetchPermissionForGroupWithParent(group.Parent)); } } return(per); }
public Permission FetchPermissionFor(List <Group> groups) { Permission tmp = new Permission(); foreach (var g in groups) { tmp.CalculatePermissions(FetchPermissionForGroupWithParent(g), true); if (tmp.IsAllTrue()) { return(tmp); } } return(tmp); }