public async Task <IActionResult> Index(string keyword, Status?status, int pageIndex = 1, int pageSize = 5) { var request = new GetManageCategoryPagingRequest() { Keyword = keyword, PageIndex = pageIndex, PageSize = pageSize, LanguageId = GetLanguageId(), Status = status }; ViewBag.Statuss = Enum.GetValues(typeof(Status)).Cast <Status>() .Select(x => new SelectListItem() { Text = x.ToString(), Value = ((int)x).ToString(), Selected = status.HasValue && status.ToString() == x.ToString() }).ToList(); ViewBag.Keyword = keyword; if (TempData["Result"] != null) { ViewBag.SuccessMsg = TempData["Result"]; } var data = await _categoryApiCilent.GetCategoryPaging(request); return(View(data.ResultObj)); }
public async Task <ApiResult <PageResult <CategoryViewModel> > > GetAllPaging(GetManageCategoryPagingRequest request) { //1.filter var query = from c in _context.Categories join ct in _context.CategoryTranslations on c.Id equals ct.CategoryId select new { c, ct }; //2.filer by languageid query = query.Where(x => x.ct.LanguageId == request.LanguageId); //filter by status if (request.Status != null) { query = query.Where(x => x.c.Status == request.Status); } //3/filter by keyword if (!String.IsNullOrWhiteSpace(request.Keyword)) { query = query.Where(x => x.ct.Name.Contains(request.Keyword) || x.ct.SeoAlias.Contains(request.Keyword) || x.ct.SeoDescription.Contains(request.Keyword) || x.ct.SeoTitle.Contains(request.Keyword) || x.ct.CategoryId.ToString().Contains(request.Keyword)); } //4. paging query = query.Skip((request.PageIndex - 1) * request.PageSize); var data = query.Select(x => new CategoryViewModel() { Id = x.c.Id, Name = x.ct.Name, IsShowOnHome = x.c.IsShowOnHome, ParentId = x.c.ParentId, LanguageId = x.ct.LanguageId, SeoAlias = x.ct.SeoAlias, SeoDescription = x.ct.SeoDescription, SeoTitle = x.ct.SeoTitle, SortOrder = x.c.SortOrder, Status = x.c.Status }).ToList(); var pageResult = new PageResult <CategoryViewModel>() { TotalRecord = data.Count(), Item = data, PageIndex = request.PageIndex, PageSize = request.PageSize, }; return(new ApiSuccessResult <PageResult <CategoryViewModel> >(pageResult)); }
public async Task <IActionResult> GetAllPaging([FromQuery] GetManageCategoryPagingRequest request) { var data = await _categoryService.GetAllPaging(request); return(Ok(data)); }
public async Task <ApiResult <PageResult <CategoryViewModel> > > GetCategoryPaging(GetManageCategoryPagingRequest request) { return(await GetAsync <ApiResult <PageResult <CategoryViewModel> > >($"/api/Categories/Paging?PageIndex=" + $"{request.PageIndex}&PageSize={request.PageSize}&Keyword={request.Keyword}&" + $"LanguageId={request.LanguageId}&Status={request.Status}")); }