public static bool Handle404(this IEngineContext context) { var result = context.HandleError(404, "Not found."); context.Response.StatusCode = 404; return(result); }
public object ExecuteList(IEngineContext context, IController controller, IControllerContext controllerContext) { OnPreList(controller); try { var source = context.Request.HttpMethod == "GET" ? context.Request.QueryString : context.Request.Form; var store = BuildCompositeNode(source, Queryfilters, false); IFutureValue <long> count = null; Query .AddOrderBy(Orderbys) .AddQueryFilter(Queryfilters) .SetupPaging(PageSize) .AddEager(Fetches); var items = Query.Run(store, ref count); if (Query.PageSize == 0) { controllerContext.PropertyBag["items"] = new CustomPage <T>(items, Query.Page, Convert.ToInt32(count.Value), Convert.ToInt32(count.Value)); } else { controllerContext.PropertyBag["items"] = new LazyPage <T>(items, Query.Page, Query.PageSize, count); } OnPostList(controller, items); } catch (Exception ex) { context.HandleError(500, ex); } finally { controllerContext.PropertyBag["qs"] = Query.Querystring; foreach (var key in Query.Querystring.Keys) { controllerContext.PropertyBag[key] = Query.Querystring[key]; } } return(null); }