public async Task <IActionResult> List(int id, DataTableAjaxPostViewModel model) { var list = await _crudService.GetListAsync(model.start, model.length, Search(model.search.value), model.order.Count == 0? "Id" : model.columns[model.order[0].column].data, model.order[0].dir == "desc" || string.IsNullOrEmpty(model.order[0].dir), Include ?? new string[] { }); return(Json(new { draw = model.draw, data = list.List, recordsTotal = list.AllCount, recordsFiltered = list.FilteredCount, })); }
public string GetEmployees(DataTableAjaxPostViewModel model) { SearchComponents searchComponents = DataTableHelpers.DataTableAjaxPostViewModelToComponents <Employee>(model); Column dateOfBirthColumn = model.Columns.Single(c => c.Data == "DateOfBirth"); searchComponents.FilterProps["DateOfBirth"] = new Dictionary <string, DateTime?> { { "MinDate", dateOfBirthColumn.DateSearch.MinDate }, { "MaxDate", dateOfBirthColumn.DateSearch.MaxDate } }; int recordsTotal = Employee.TotalCount(); int recordsFiltered = Employee.FilteredCount(searchComponents.SearchTerm, searchComponents.FilterProps); IEnumerable <Employee> employees = Employee.SearchEmployees(searchComponents.SearchTerm, searchComponents.Take, searchComponents.Skip, searchComponents.OrderBy, searchComponents.OrderDirection, searchComponents.FilterProps); return(JsonConvert.SerializeObject(new { model.Draw, recordsTotal, recordsFiltered, data = employees })); }