Ejemplo n.º 1
0
 protected async override void OnExecute(object parameter)
 {
     if (parameter is IAccessibleDescriptor descriptor)
     {
         await AccessibleDescriptorUtility.SetPrivateAsync(this.authenticator, descriptor);
     }
 }
Ejemplo n.º 2
0
 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);
 }
Ejemplo n.º 3
0
        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);
        }
Ejemplo n.º 4
0
 public async Task SetAuthorityAsync()
 {
     await AccessibleDescriptorUtility.SetAuthorityAsync(this.authentication, this);
 }