public ActionResult Employees(FlexGridFetchOptions fetchOptions) { IQueryable<EmployeeViewModel> queryable = this.employees.AsQueryable<EmployeeViewModel>(); IEnumerable<EmployeeViewModel> queriedEmployees = null; string query = string.Empty; if (fetchOptions.query.Length > 0) { query = string.Format("{0}.Contains(@0)", fetchOptions.qtype); } string orderString = string.Format("{0}{1}", fetchOptions.sortname, (fetchOptions.sortorder == "desc") ? " descending" : string.Empty); queryable = queryable .Skip((fetchOptions.page - 1) * fetchOptions.rp) .Take(fetchOptions.rp); if (query.Length > 0) { queryable = queryable.Where(query, fetchOptions.query); } if (fetchOptions.sortname.Length > 0) { queryable = queryable.OrderBy(orderString); } queriedEmployees = queryable; var data = new FlexGridData<EmployeeViewModel>( queriedEmployees, fetchOptions.page, this.employees.Count, x => x.Name, y => { y.Add(z => z.Name); y.Add(z => z.Age); }); return Json(data); }
public ActionResult Employees(FlexGridFetchOptions fetchOptions) { IQueryable <EmployeeViewModel> queryable = this.employees.AsQueryable <EmployeeViewModel>(); IEnumerable <EmployeeViewModel> queriedEmployees = null; string query = string.Empty; if (fetchOptions.query.Length > 0) { query = string.Format("{0}.Contains(@0)", fetchOptions.qtype); } string orderString = string.Format("{0}{1}", fetchOptions.sortname, (fetchOptions.sortorder == "desc") ? " descending" : string.Empty); queryable = queryable .Skip((fetchOptions.page - 1) * fetchOptions.rp) .Take(fetchOptions.rp); if (query.Length > 0) { queryable = queryable.Where(query, fetchOptions.query); } if (fetchOptions.sortname.Length > 0) { queryable = queryable.OrderBy(orderString); } queriedEmployees = queryable; var data = new FlexGridData <EmployeeViewModel>( queriedEmployees, fetchOptions.page, this.employees.Count, x => x.Name, y => { y.Add(z => z.Name); y.Add(z => z.Age); }); return(Json(data)); }