public static ConcurrentHashSet <string> GetActualPermissions(this PermissionedObject permissionedObject, bool useInherited = true, UseDependencyType useDependency = UseDependencyType.Before) { var permissionedObjectManager = IocManager.Instance.Resolve <IPermissionedObjectManager>(); return(permissionedObjectManager?.GetActualPermissions(permissionedObject.Object, useInherited, useDependency) ?? new ConcurrentHashSet <string>()); }
private PermissionedObjectDto GetObjectWithChild(PermissionedObject obj, bool withHidden = false) { var dto = _objectMapper.Map <PermissionedObjectDto>(obj); var child = _permissionedObjectRepository.GetAll() .WhereIf(!withHidden, x => !x.Hidden) .Where(x => x.Parent == obj.Object) .OrderBy(x => x.Name) .ToList(); foreach (var permissionedObject in child) { dto.Child.Add(GetObjectWithChild(permissionedObject, withHidden)); } return(dto); }