Example #1
0
        public static SparseFieldSetExpression Excluding <TResource>(this SparseFieldSetExpression sparseFieldSet,
                                                                     Expression <Func <TResource, dynamic> > fieldSelector, IResourceGraph resourceGraph)
            where TResource : class, IIdentifiable
        {
            ArgumentGuard.NotNull(fieldSelector, nameof(fieldSelector));
            ArgumentGuard.NotNull(resourceGraph, nameof(resourceGraph));

            SparseFieldSetExpression newSparseFieldSet = sparseFieldSet;

            foreach (ResourceFieldAttribute field in resourceGraph.GetFields(fieldSelector))
            {
                newSparseFieldSet = ExcludeField(newSparseFieldSet, field);
            }

            return(newSparseFieldSet);
        }
        public static SparseFieldSetExpression Excluding <TResource>(this SparseFieldSetExpression sparseFieldSet,
                                                                     Expression <Func <TResource, dynamic> > fieldSelector, IResourceGraph resourceGraph)
            where TResource : class, IIdentifiable
        {
            if (fieldSelector == null)
            {
                throw new ArgumentNullException(nameof(fieldSelector));
            }

            if (resourceGraph == null)
            {
                throw new ArgumentNullException(nameof(resourceGraph));
            }

            foreach (var field in resourceGraph.GetFields(fieldSelector))
            {
                sparseFieldSet = ExcludeField(sparseFieldSet, field);
            }

            return(sparseFieldSet);
        }