public IPagedList <Category> SearchUser(CategorySearchArg arg, int page, int size) { var query = _categoryRepository.Table; if (arg != null) { if (!string.IsNullOrEmpty(arg.Name)) { query = query.Where(o => o.Name.Contains(arg.Name)); } if (arg.IsMenu.HasValue) { query = query.Where(o => o.IsMenu == true); } if (!string.IsNullOrEmpty(arg.RouteName)) { query = query.Where(o => o.RouteName.Contains(arg.RouteName)); } if (arg.IsDisabled.HasValue) { query = query.Where(o => o.IsDisabled == true); } } query = query.OrderBy(o => o.Sort).ThenBy(o => o.RouteName).ThenBy(o => o.Controller).ThenBy(o => o.Action); return(new PagedList <Category>(query, page, size)); }
public IActionResult Index(CategorySearchArg arg, int page = 1, int size = 20) { var pageList = _categoryService.SearchUser(arg, page, size); var dataSource = pageList.ToDataSourceResult <Category, CategorySearchArg>("categoryIndex", arg); return(View(dataSource)); }