/// <summary> /// AJAX POST /// </summary> public JsonResult Sample4(DataTablesAjaxPostModel model) { var request = new DataTablesRequest <Person>(model); using (var ctx = new DatabaseContext()) { var persons = ctx.Persons.Include("Office.Address").ToPagedList(request); return(JsonDataTable(persons, request.Draw)); } }
public IHttpActionResult GetEmployees([FromBody] DataTablesAjaxPostModel model, [FromUri] int id = 0) { var restInfo = new RestEndPointModel(ConfigurationManager.AppSettings["MasApiBaseUrl"], ConfigurationManager.AppSettings["MasApiEmployeesResource"]); var employees = EmployeeBl.GetEmployees(restInfo, id); return(Ok(new { draw = model.Draw, recordsTotal = employees.Count(), recordsFiltered = employees.Count(), data = employees })); }
public static IQueryable <T> OrderBy <T>(this IQueryable <T> source, DataTablesAjaxPostModel model) { var expression = source.Expression; var firstSortField = true; foreach (var order in model.order) { var sortField = model.columns[order.column].data; var sortAscending = order.dir.ToLower().Equals("asc"); var parameter = Expression.Parameter(typeof(T), "x"); var selector = GetSelector(parameter, sortField); var method = GetSortMethodName(sortAscending, firstSortField); expression = Expression.Call( typeof(Queryable), method, new[] { source.ElementType, selector.Type }, expression, Expression.Quote(Expression.Lambda(selector, parameter)) ); firstSortField = false; } return(firstSortField ? source : source.Provider.CreateQuery <T>(expression)); }
protected BaseSpecification(Expression <Func <T, bool> > criteria = null, DataTablesAjaxPostModel model = null) { Criteria = criteria; Model = model; }