public async Task <IActionResult> GetAllWithPaging([FromQuery] GetNewImagePagingRequest request) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var result = await _newImageServices.GetAllWithPaging(request); if (result.ResultObj != null) { return(Ok(result)); } return(BadRequest(result)); }
public async Task <IActionResult> Index(string keyword, int pageIndex = 1, int pageSize = 5) { var pagingRequest = new GetNewImagePagingRequest() { keyword = keyword, pageIndex = pageIndex, pageSize = pageSize }; var result = await _newImageApiClient.GetAllWithPaging(pagingRequest); if (result.ResultObj != null) { if (TempData["result"] != null) { ViewBag.Success = true; ViewBag.SuccessMessage = TempData["result"]; } return(View(result.ResultObj)); } return(View(result)); }
public async Task <APIResult <PageResult <NewImageViewModel> > > GetAllWithPaging(GetNewImagePagingRequest request) { var query = from newimage in _context.NewImages join news in _context.News on newimage.NewID equals news.NewID select new NewImageViewModel() { NewImageID = newimage.NewImageID, NewID = newimage.NewID, NewName = news.NewName, ImagePath = newimage.ImagePath, DateCreated = newimage.DateCreated, FileSize = newimage.FileSize }; if (!string.IsNullOrEmpty(request.keyword)) { query = query.Where(x => x.NewImageID.ToString().Contains(request.keyword) || x.NewID.ToString().Contains(request.keyword) || 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 NewImageViewModel() { NewImageID = x.NewImageID, NewID = x.NewID, NewName = x.NewName, ImagePath = x.ImagePath, DateCreated = x.DateCreated, FileSize = x.FileSize }).ToListAsync(); var pageResult = new PageResult <NewImageViewModel>() { TotalRecord = totalRow, PageIndex = request.pageIndex, PageSize = request.pageSize, Items = data }; return(new APISuccessedResult <PageResult <NewImageViewModel> >(pageResult)); }
public async Task <APIResult <PageResult <NewImageViewModel> > > GetAllWithPaging(GetNewImagePagingRequest 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/NewImages/paging?pageIndex={request.pageIndex}&pageSize={request.pageSize}&keyword={request.keyword}"); var body = await response.Content.ReadAsStringAsync(); if (response.IsSuccessStatusCode) { return(JsonConvert.DeserializeObject <APISuccessedResult <PageResult <NewImageViewModel> > >(body)); } return(JsonConvert.DeserializeObject <APIErrorResult <PageResult <NewImageViewModel> > >(body)); }