예제 #1
0
        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));
        }
예제 #2
0
        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));
        }
예제 #3
0
        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));
        }
예제 #4
0
        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));
        }