public async Task <IActionResult> Index(string keyword, int pageIndex = 1, int pageSize = 5) { if (!ModelState.IsValid) { return(RedirectToAction("Error", "Home")); } var pagingRequest = new GetNewPagingRequest() { keyword = keyword, pageIndex = pageIndex, pageSize = pageSize }; var result = await _newApiClient.GetAllWithPaging(pagingRequest); if (result.ResultObj != null) { if (TempData["result"] != null) { ViewBag.Success = true; ViewBag.SuccessMessage = TempData["result"]; } return(View(result.ResultObj)); } return(RedirectToAction("Error", "Home")); }
public async Task <IActionResult> GetAllWithPaging([FromQuery] GetNewPagingRequest request) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var result = await _newServices.GetAllWithPaging(request); if (result.ResultObj != null) { return(Ok(result)); } return(BadRequest(result)); }
public async Task <APIResult <PageResult <NewViewModel> > > GetAllWithPaging(GetNewPagingRequest request) { var client = _httpClientFactory.CreateClient(); client.BaseAddress = new Uri(_configuration["BaseAddress"]); var session = _httpContextAccessor.HttpContext.Session.GetString("Token"); client.DefaultRequestHeaders.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("Bearer", session); var response = await client.GetAsync($"/api/News/paging?pageIndex={request.pageIndex}&pageSize={request.pageSize}&keyword={request.keyword}"); var body = await response.Content.ReadAsStringAsync(); if (response.IsSuccessStatusCode) { return(JsonConvert.DeserializeObject <APISuccessedResult <PageResult <NewViewModel> > >(body)); } return(JsonConvert.DeserializeObject <APIErrorResult <PageResult <NewViewModel> > >(body)); }
public async Task <APIResult <PageResult <NewViewModel> > > GetAllWithPaging(GetNewPagingRequest request) { var query = from news in _context.News join newcatetory in _context.NewCatetories on news.NewCatetoryID equals newcatetory.NewCatetoryID select new NewViewModel() { NewID = news.NewID, NewName = news.NewName, NewContent = news.NewContent, NewDatePost = news.NewDatePost, NewCount = news.NewCount, NewCatetoryName = newcatetory.NewCatetoryName }; if (!string.IsNullOrEmpty(request.keyword)) { query = query.Where(x => x.NewName.Contains(request.keyword)); } var totalRow = await query.CountAsync(); var data = await query.Skip((request.pageIndex - 1) *request.pageSize) .Take(request.pageSize) .Select(x => new NewViewModel() { NewID = x.NewID, NewName = x.NewName, NewContent = x.NewContent, NewDatePost = x.NewDatePost, NewCount = x.NewCount, NewCatetoryName = x.NewCatetoryName }).ToListAsync(); var pageResult = new PageResult <NewViewModel>() { TotalRecord = totalRow, PageIndex = request.pageIndex, PageSize = request.pageSize, Items = data }; return(new APISuccessedResult <PageResult <NewViewModel> >(pageResult)); }