Example #1
0
        private void HandleTable(HttpContext context)
        {
            string gridName = context.Request["Name"];

            //StringBuilder sbDebug = new StringBuilder();
            //foreach (string key in context.Request.QueryString.AllKeys)
            //{
            //    sbDebug.Append(key);
            //    sbDebug.Append(" = ");
            //    sbDebug.Append(context.Request.QueryString[key]);
            //    sbDebug.Append("<br />");
            //}

            var grid = MVCGridDefinitionTable.GetDefinitionInterface(gridName);

            var options = GridOptionParser.ParseOptions(grid, gridName, context.Request);

            var gridContext = GridContextUtility.Create(context, gridName, grid, options);

            GridEngine engine = new GridEngine();

            if (!engine.CheckAuthorization(gridContext))
            {
                //Forbidden
                context.Response.StatusCode = 403;
                context.Response.End();
                return;
            }

            IMVCGridRenderingEngine renderingEngine = GridEngine.GetRenderingEngine(gridContext);

            renderingEngine.PrepareResponse(context.Response);
            engine.Run(renderingEngine, gridContext, context.Response.Output);
        }
Example #2
0
        private static string RenderPreloadedGridHtml(HtmlHelper helper, IMVCGridDefinition grid, string gridName, object pageParameters, QueryOptions options = null)
        {
            string preload = "";

            if (options == null)
            {
                options = GridOptionParser.ParseOptions(grid, gridName, System.Web.HttpContext.Current.Request);
            }

            // set the page parameters for the preloaded grid
            Dictionary <string, string> pageParamsDict = new Dictionary <string, string>(StringComparer.OrdinalIgnoreCase);

            if (pageParameters != null)
            {
                foreach (PropertyDescriptor descriptor in TypeDescriptor.GetProperties(pageParameters))
                {
                    object obj2 = descriptor.GetValue(pageParameters);
                    pageParamsDict.Add(descriptor.Name, obj2.ToString());
                }
            }
            if (grid.PageParameterNames.Count > 0)
            {
                foreach (var aqon in grid.PageParameterNames)
                {
                    string val = "";

                    if (pageParamsDict.ContainsKey(aqon))
                    {
                        val = pageParamsDict[aqon];
                    }

                    options.PageParameters[aqon] = val;
                }
            }

            var gridContext = GridContextUtility.Create(HttpContext.Current, gridName, grid, options);

            GridEngine engine = new GridEngine();

            switch (grid.RenderingMode)
            {
            case Models.RenderingMode.RenderingEngine:
                preload = RenderUsingRenderingEngine(engine, gridContext);
                break;

            case Models.RenderingMode.Controller:
                preload = RenderUsingController(engine, gridContext, helper);
                break;

            default:
                throw new InvalidOperationException();
            }
            return(preload);
        }
Example #3
0
        public IActionResult Grid()
        {
            string             gridName    = HttpContext.Request.Query["Name"];
            IMVCGridDefinition grid        = MVCGridDefinitionTable.GetDefinitionInterface(gridName);
            QueryOptions       options     = QueryStringParser.ParseOptions(grid, HttpHelper.HttpContext.Request.ToNameValueCollection());
            GridContext        gridContext = GridContextUtility.Create(/*context, */ gridName, grid, options);

            GridEngine engine = new GridEngine();

            if (!engine.CheckAuthorization(gridContext))
            {
                return(new StatusCodeResult(403));
            }

            var renderingModel = engine.GenerateModel(gridContext);

            return(PartialView(grid.ViewPath, renderingModel));
        }
Example #4
0
        public ActionResult Grid()
        {
            HttpContext        context     = System.Web.HttpContext.Current;
            string             gridName    = context.Request.QueryString["Name"];
            IMVCGridDefinition grid        = MVCGridDefinitionTable.GetDefinitionInterface(gridName);
            QueryOptions       options     = QueryStringParser.ParseOptions(grid, context.Request.QueryString);
            GridContext        gridContext = GridContextUtility.Create(/*context, */ gridName, grid, options);

            GridEngine engine = new GridEngine();

            if (!engine.CheckAuthorization(gridContext, context.User.Identity.IsAuthenticated))
            {
                return(new HttpStatusCodeResult(403, "Access denied"));
            }

            var renderingModel = engine.GenerateModel(gridContext);

            return(PartialView(grid.ViewPath, renderingModel));
        }
Example #5
0
        public ActionResult Grid()
        {
            var context = System.Web.HttpContext.Current;

            string gridName = context.Request["Name"];

            var grid = MVCGridDefinitionTable.GetDefinitionInterface(gridName);

            var options = GridOptionParser.ParseOptions(grid, gridName, context.Request);

            var gridContext = GridContextUtility.Create(context, gridName, grid, options);

            GridEngine engine = new GridEngine();

            if (!engine.CheckAuthorization(gridContext))
            {
                return(new HttpStatusCodeResult(403, "Access denied"));
            }

            var renderingModel = engine.GenerateModel(gridContext);

            return(PartialView(grid.ViewPath, renderingModel));
        }
        /// <summary>
        /// Handles the table.
        /// </summary>
        /// <param name="context">The context.</param>
        /// TODO Edit XML Comment Template for HandleTable
        private static void HandleTable(HttpContext context)
        {
            var gridName = context.Request["Name"];
            var grid     = MvcGridDefinitionTable.GetDefinitionInterface(gridName);
            var options  = QueryStringParser.ParseOptions(grid, context.Request);

            var gridContext =
                GridContextUtility.Create(context, gridName, grid, options);

            var engine = new GridEngine();

            if (!engine.CheckAuthorization(gridContext))
            {
                context.Response.StatusCode = 403;
                context.Response.End();
                return;
            }

            var renderingEngine = GridEngine.GetRenderingEngine(gridContext);

            renderingEngine.PrepareResponse(context.Response);
            engine.Run(renderingEngine, gridContext, context.Response.Output);
        }