public async Task <PagedResult <CouponViewModel> > GetCouponPagings(GetCouponPagingRequest request) { var client = _httpClientFactory.CreateClient(); client.BaseAddress = new Uri(_configuration["BaseAddress"]); var respone = await client.GetAsync($"/api/coupon/paging?Keyword={request.Keyword}&pageIndex=" + $"{request.PageIndex}&pageSize={request.PageSize}"); var body = await respone.Content.ReadAsStringAsync(); var coupon = JsonConvert.DeserializeObject <PagedResult <CouponViewModel> >(body); return(coupon); }
public async Task <IActionResult> Index(string keyword, int pageIndex = 1, int pageSize = 10) { var request = new GetCouponPagingRequest() { Keyword = keyword, PageIndex = pageIndex, PageSize = pageSize, }; var data = await _couponApiClient.GetCouponPagings(request); ViewBag.Keyword = keyword; if (TempData["result"] != null) { ViewBag.SuccessMsg = TempData["result"]; } if (TempData["error"] != null) { ViewBag.ErrorMsg = TempData["error"]; } return(View(data)); }
public async Task <PagedResult <CouponViewModel> > GetAllPaging(GetCouponPagingRequest request) { var query = from coupon in _context.Coupons select coupon; if (!String.IsNullOrEmpty(request.Keyword)) { query = query.Where(x => x.name.Contains(request.Keyword) || x.code.Contains(request.Keyword)); } int totalRow = await query.CountAsync(); var data = query.OrderByDescending(m => m.start_at) .Skip((request.PageIndex - 1) * request.PageSize) .Take(request.PageSize) .Select(a => new CouponViewModel() { id = a.id, code = a.code, name = a.name, max_price = a.max_price, min_order_value = a.min_order_value, type = a.type, value = a.value, quantity = a.quantity, start_at = a.start_at, end_at = a.end_at, isActive = a.isActive, }).ToListAsync(); var pageResult = new PagedResult <CouponViewModel>() { TotalRecords = totalRow, PageIndex = request.PageIndex, PageSize = request.PageSize, Items = await data, }; return(pageResult); }
public async Task <IActionResult> GetAllPaging([FromQuery] GetCouponPagingRequest requet) { var customer = await _couponService.GetAllPaging(requet); return(Ok(customer)); }