Пример #1
0
        private IEnumerable <string> GetDefaultAllowedFields(int nestedBy)
        {
            foreach (string fieldName in _fieldProvider.GetDefaultNames(nestedBy))
            {
                var field = new NamedField <TItem>(fieldName, _fieldProvider);

                if (_authChecker.CanGetField(_item, field))
                {
                    yield return(fieldName);
                }
            }
        }
        public virtual bool CanGetField(IDeferredItem <TItem> item, INamedField <TItem> field)
        {
            Func <IRestUser, bool> authorizePredicate = GetFieldAuthorizePredicate(field.Name);

            if (authorizePredicate != null)
            {
                return(authorizePredicate.Invoke(_stem.User)); // TODO: item
            }
            return(AllowAllChecker.CanGetField(item, field));
        }