protected async override void OnExecute(object parameter) { if (parameter is IAccessibleDescriptor descriptor) { await AccessibleDescriptorUtility.SetPrivateAsync(this.authenticator, descriptor); } }
public static bool CanLoad(Authentication authentication, IDataBaseDescriptor descriptor) { if (DataBaseDescriptorUtility.IsLoaded(authentication, descriptor) == true) { return(false); } if (descriptor is IAccessibleDescriptor accessibleDescriptor) { return(AccessibleDescriptorUtility.IsPrivate(authentication, accessibleDescriptor) == false && authentication.Authority == Authority.Admin); } return(authentication.Authority == Authority.Admin); }
public object Convert(object value, Type targetType, object parameter, CultureInfo culture) { if (Authenticator.Current == null) { return(value); } if (parameter == null) { parameter = this.PropertyName; } if (value != null && parameter is string propertyName) { if (value is IAccessibleDescriptor descriptor) { if (propertyName == IsPrivate) { return(AccessibleDescriptorUtility.IsPrivate(Authenticator.Current, descriptor)); } else if (propertyName == IsAccessInherited) { return(AccessibleDescriptorUtility.IsAccessInherited(Authenticator.Current, descriptor)); } else if (propertyName == IsAccessOwner) { return(AccessibleDescriptorUtility.IsAccessOwner(Authenticator.Current, descriptor)); } else if (propertyName == IsAccessMember) { return(AccessibleDescriptorUtility.IsAccessMember(Authenticator.Current, descriptor)); } } else { var prop = value.GetType().GetProperty(propertyName); if (prop != null) { return(prop.GetValue(value)); } } } return(value); }
public async Task SetAuthorityAsync() { await AccessibleDescriptorUtility.SetAuthorityAsync(this.authentication, this); }