コード例 #1
0
        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,
            }));
        }
コード例 #2
0
        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 }));
        }