Esempio n. 1
0
        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"));
        }
Esempio n. 2
0
        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));
        }
Esempio n. 3
0
        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));
        }
Esempio n. 4
0
        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));
        }