public void OnActionExecuted(ActionExecutedContext filterContext)
        {
            if (filterContext.HttpContext.Request.IsAjaxRequest() &&
                (filterContext.Result is ViewResultBase))
            {
                ViewResultBase actionResult = filterContext.Result as ViewResultBase;

                IGridModel model = actionResult.ViewData.Model as IGridModel;

                if (model == null)
                {
                    return;
                }

                GridActionBindingContext context = new GridActionBindingContext(EnableCustomBinding, filterContext.Controller, model.Data, model.Total);
                GridDataProcessor dataProcessor = new GridDataProcessor(context);

                filterContext.Result = new JsonResult
                {
                    Data = new
                    {
                        data = dataProcessor.ProcessedDataSource,
                        total = dataProcessor.Total
                    }
                };
            }
        }
 public GridActionBindingContextTests()
 {
     valueProvider = new Dictionary<string, ValueProviderResult>();
     dataSource = new object[]{};
     bindingContext = new GridActionBindingContext(false, new ControllerTestDouble(valueProvider, new ViewDataDictionary()), dataSource, 0);
 }
 public GridActionBindingContextTests()
 {
     valueProvider  = new Dictionary <string, ValueProviderResult>();
     dataSource     = new object[] {};
     bindingContext = new GridActionBindingContext(false, new ControllerTestDouble(valueProvider, new ViewDataDictionary()), dataSource, 0);
 }