Exemple #1
0
        /// <summary>
        ///     Runs the specified rendering engine.
        /// </summary>
        /// <param name="renderingEngine">The rendering engine.</param>
        /// <param name="gridContext">The grid context.</param>
        /// <param name="outputStream">The output stream.</param>
        /// TODO Edit XML Comment Template for Run
        public void Run(
            IMvcGridRenderingEngine renderingEngine,
            GridContext gridContext,
            TextWriter outputStream)
        {
            if (!renderingEngine.AllowsPaging)
            {
                gridContext.QueryOptions.ItemsPerPage = null;
            }

            var model = GenerateModel(gridContext);

            renderingEngine.Render(model, gridContext, outputStream);
        }
Exemple #2
0
        /// <summary>
        ///     Gets the rendering engine.
        /// </summary>
        /// <param name="gridContext">The grid context.</param>
        /// <returns>IMvcGridRenderingEngine.</returns>
        /// TODO Edit XML Comment Template for GetRenderingEngine
        public static IMvcGridRenderingEngine GetRenderingEngine(
            GridContext gridContext)
        {
            IMvcGridRenderingEngine renderingEngine = null;

            if (string.IsNullOrWhiteSpace(
                    gridContext.QueryOptions.RenderingEngineName))
            {
                return(GetRenderingEngineInternal(gridContext.GridDefinition));
            }

            foreach (ProviderSettings configuredEngine in gridContext
                     .GridDefinition.RenderingEngines)
            {
                if (gridContext.QueryOptions.RenderingEngineName
                    .EqualsOrdinalIgnoreCase(configuredEngine.Name))
                {
                    continue;
                }

                var engineName = gridContext.QueryOptions.RenderingEngineName;

                var typeString = gridContext.GridDefinition
                                 .RenderingEngines[engineName]
                                 .Type;

                var engineType = Type.GetType(typeString, true);

                renderingEngine =
                    (IMvcGridRenderingEngine)Activator.CreateInstance(
                        engineType,
                        true);
            }

            return(renderingEngine
                   ?? GetRenderingEngineInternal(gridContext.GridDefinition));
        }