示例#1
0
        /// <summary>
        /// Invoke the ResolveRenderingDataSource pipeline to resolve the data source item
        /// </summary>
        private static Item[] RunPipeline(string dataSource, Item contextItem, IProviderSearchContext searchContext)
        {
            var args = new ResolveRenderingDataSourceArgs(dataSource, contextItem, searchContext);

            CorePipeline.Run("resolveRenderingDataSource", args);

            return(args.DataSourceItems.ToArray());
        }
        /// <summary>
        /// Method executes always on pipeline execution
        /// </summary>
        public virtual void Process(ResolveRenderingDataSourceArgs args)
        {
            if (args.HasItems)
            {
                return;
            }

            DoProcess(args);
        }
 /// <summary>
 /// Method is invoked only if no previous pipeline processor has provided a data source item
 /// </summary>
 public abstract void DoProcess(ResolveRenderingDataSourceArgs args);
 /// <summary>
 /// Method is invoked only if no previous pipeline processor has provided a data source item
 /// </summary>
 public abstract void DoProcess(ResolveRenderingDataSourceArgs args);
        /// <summary>
        /// Method executes always on pipeline execution
        /// </summary>
        public virtual void Process(ResolveRenderingDataSourceArgs args)
        {
            if (args.HasItems) return;

            DoProcess(args);
        }