private ObjectPermission CreateObjectPermission(ITypeInfo typeInfo, object entity) { Type type = typeInfo.Type; ObjectPermission objectPermission = new ObjectPermission(); objectPermission.Key = typeInfo.KeyMember.GetValue(entity).ToString(); objectPermission.Write = Security.IsGranted(new PermissionRequest(ObjectSpace, type, SecurityOperations.Write, entity)); objectPermission.Delete = Security.IsGranted(new PermissionRequest(ObjectSpace, type, SecurityOperations.Delete, entity)); IEnumerable <IMemberInfo> members = GetPersistentMembers(typeInfo); foreach (IMemberInfo member in members) { MemberPermission memberPermission = CreateMemberPermission(entity, type, member); objectPermission.Data.Add(member.Name, memberPermission); } return(objectPermission); }
private ObjectPermission CreateObjectPermission(ITypeInfo typeInfo, object entity) { Type type = typeInfo.Type; ObjectPermission objectPermission = new ObjectPermission(); objectPermission.Key = typeInfo.KeyMember.GetValue(entity).ToString(); objectPermission.Write = securityProvider.Security.CanWrite(entity); objectPermission.Delete = securityProvider.Security.CanDelete(entity); IEnumerable <IMemberInfo> members = GetPersistentMembers(typeInfo); foreach (IMemberInfo member in members) { MemberPermission memberPermission = CreateMemberPermission(entity, type, member); objectPermission.Data.Add(member.Name, memberPermission); } return(objectPermission); }