Exemple #1
0
        public async Task <IActionResult> Index(string keyword, int pageIndex = 1, int pageSize = 10)
        {
            var request = new SuppliersPagingRequest()
            {
                Keyword   = keyword,
                PageIndex = pageIndex,
                PageSize  = pageSize
            };
            var data = await _supplierApiClient.GetAllPaging(request);

            ViewBag.Keyword = keyword;
            if (TempData["result"] != null)
            {
                ViewBag.SuccessMsg = TempData["result"];
            }
            return(View(data.ResultObj));
        }
        public async Task <ApiResult <PagedResult <SupplierViewModel> > > GetAllPaging(SuppliersPagingRequest request)
        {
            var query = from s in _context.Suppliers

                        select new { s };
            //if (!string.IsNullOrEmpty(request.Keyword))
            //{
            //    query = query.Where(x => x.s.Supplier_ID.Contains(request.Keyword));
            //}
            //if (request.Supplier_ID.Count > 0)
            //{
            //    query = query.Wh  ere(p => request.Supplier_ID.Contains(p.pis.Supplier_ID));
            //}

            //Paging
            int totalRow = await query.CountAsync();

            var data = await query.Skip((request.PageIndex - 1) *request.PageSize)
                       .Take(request.PageSize)
                       .Select(x => new SupplierViewModel()
            {
                Supplier_ID   = x.s.Supplier_ID,
                Supplier_Name = x.s.Supplier_Name,
                Gmail         = x.s.Gmail,
                Address       = x.s.Address,

                Phone  = x.s.Phone,
                Status = x.s.Status
            }).ToListAsync();

            //Select and projection
            var pagedResult = new PagedResult <SupplierViewModel>()
            {
                TotalRecords = totalRow,
                PageSize     = request.PageSize,
                PageIndex    = request.PageIndex,
                Items        = data
            };

            return(new ApiSuccessResult <PagedResult <SupplierViewModel> >(pagedResult));
        }
Exemple #3
0
        public async Task <IActionResult> GetAllPaging([FromQuery] SuppliersPagingRequest request)
        {
            var suppliers = await _supplierService.GetAllPaging(request);

            return(Ok(suppliers));
        }
Exemple #4
0
        public async Task <ApiResult <PagedResult <SupplierViewModel> > > GetAllPaging(SuppliersPagingRequest request)
        {
            var client = _httpClientFactory.CreateClient();

            client.BaseAddress = new Uri("https://localhost:5001");
            var response = await client.GetAsync($"/api/Suppliers/paging?pageIndex=" +
                                                 $"{request.PageIndex}&pageSize={request.PageSize}&keyword={request.Keyword}");

            var body = await response.Content.ReadAsStringAsync();

            var supp = JsonConvert.DeserializeObject <ApiSuccessResult <PagedResult <SupplierViewModel> > >(body);

            return(supp);
        }