Esempio n. 1
0
        private void AddRuntimeRequestDirectives(MappedSelectionItem mappedItem)
        {
            var selItem = mappedItem.Item;

            // request directives first; map dir args
            if (selItem.Directives != null)
            {
                foreach (var dir in selItem.Directives)
                {
                    dir.MappedArgs = MapArguments(dir.Args, dir.Def.Args, dir);
                    mappedItem.AddDirective(new RuntimeRequestDirective(dir));
                }
            }
        }
 private static bool ShouldInclude(this RequestContext requestContext, MappedSelectionItem mappedItem, ref bool hasIncludeSkip)
 {
     if (!mappedItem.HasDirectives)
     {
         return(true);
     }
     foreach (var dir in mappedItem.Directives)
     {
         var action = dir.Def.Handler as ISkipDirectiveAction;
         if (action == null)
         {
             continue;
         }
         hasIncludeSkip = true;
         var argValues = dir.GetArgValues(requestContext);
         if (action.ShouldSkip(requestContext, mappedItem, argValues))
         {
             return(false);
         }
     }
     return(true);
 }
Esempio n. 3
0
        public bool ShouldSkip(RequestContext context, MappedSelectionItem item, object[] argValues)
        {
            var boolArg = (bool)argValues[0];

            return(boolArg);
        }