public async Task <ActionResult> IndexTable(
            [ModelBinder(typeof(DataTablesBinder))] IDataTablesRequest requestModel)
        {
            // Query
            IQueryable <FrequentlyAskedQuestionIndexModel> query = _context.FrequentlyAskedQuestions
                                                                   .Project().To <FrequentlyAskedQuestionIndexModel>()
                                                                   .OrderBy(requestModel.Sort());

            if (requestModel.HasSearchValues())
            {
                query = query.Where(requestModel.SearchValues(), requestModel.Search.Value);
            }

            // Data
            List <FrequentlyAskedQuestionIndexModel> data = await query.ToListAsync();

            int totalRecords = data.Count();

            IEnumerable <FrequentlyAskedQuestionIndexModel> paged =
                data.Skip(requestModel.Start).Take(requestModel.Length);

            var response = new DataTablesResponse(requestModel.Draw, paged, totalRecords, totalRecords);

            return(JsonSuccess(response, JsonRequestBehavior.AllowGet));
        }
Exemplo n.º 2
0
        public ActionResult IndexTable([ModelBinder(typeof(DataTablesBinder))] IDataTablesRequest requestModel)
        {
            IQueryable <GraduateIndexModel> data =
                _dbContext.GraduateInformation.Include(i => i.Student)
                .Project()
                .To <GraduateIndexModel>().OrderBy(requestModel.Sort());

            if (requestModel.HasSearchValues())
            {
                data = data.Where(requestModel.SearchValues(), requestModel.Search.Value);
            }

            int totalRecords = data.Count();

            var response = new DataTablesResponse(requestModel.Draw, data, totalRecords, totalRecords);

            return(JsonSuccess(response, JsonRequestBehavior.AllowGet));
        }