public async Task <IActionResult> Index(string keyword, DateTime fromDate, DateTime toDate, OrderStatus?status , int pageSize = 5, int pageIndex = 1) { if (toDate == DateTime.MinValue) { toDate = DateTime.Now; } var request = new OrderPagingRequest() { FromDate = fromDate, Keyword = keyword, ToDate = toDate, PageIndex = pageIndex, PageSize = pageSize, Status = status }; ViewBag.Statuss = Enum.GetValues(typeof(OrderStatus)).Cast <OrderStatus>() .Select(x => new SelectListItem() { Text = x.ToString(), Value = ((int)x).ToString(), Selected = status.HasValue && status.ToString() == x.ToString() }).ToList(); var orders = (await _orderApiClient.GetAllPaging(request)).ResultObj; ViewBag.FromDate = fromDate; ViewBag.ToDate = toDate; ViewBag.keyword = keyword; return(View(orders)); }
public async Task <ApiResult <PageResult <OrderViewModel> > > GetAllPaging(OrderPagingRequest request) { //Filter var orders = _context.Orders.ToList(); if (orders == null) { orders = new List <Order>(); } if (string.IsNullOrWhiteSpace(request.Keyword) == false) { orders = _context.Orders.Where(x => x.Id.ToString().Contains(request.Keyword) || x.ShipName.Contains(request.Keyword) || x.ShipEmail.Contains(request.Keyword) || x.ShipAddress.Contains(request.Keyword)).ToList(); } if (request.Status != null) { orders = orders.Where(x => x.Status == request.Status).ToList(); } if (request.FromDate != null) { orders = orders.Where(x => x.OrderDate.Date >= request.FromDate.Date).ToList(); } if (request.ToDate != null) { orders = orders.Where(x => x.OrderDate.Date <= request.ToDate.Date).ToList(); } //Paging int totaRow = orders.Count(); orders = orders.Skip((request.PageIndex - 1) * request.PageSize) .Take(request.PageSize).ToList(); var orderVMDs = orders.Select(x => new OrderViewModel() { OrderId = x.Id, ShipName = x.ShipName, ShipAddress = x.ShipAddress, ShipEmail = x.ShipEmail, ShipPhoneNumber = x.ShipPhoneNumber, Status = x.Status, OrderDate = x.OrderDate }).ToList(); var pageResult = new PageResult <OrderViewModel>() { TotalRecord = totaRow, Item = orderVMDs, PageIndex = request.PageIndex, PageSize = request.PageSize }; return(new ApiSuccessResult <PageResult <OrderViewModel> >(pageResult)); }
public async Task <IActionResult> GetAllPaging([FromQuery] OrderPagingRequest request) { var result = await _orderSevice.GetAllPaging(request); if (result.IsSuccessed) { return(Ok(result)); } return(BadRequest()); }
public async Task <ApiResult <PageResult <OrderViewModel> > > GetAllPaging(OrderPagingRequest request) { return(await GetAsync <ApiResult <PageResult <OrderViewModel> > >($"/api/Orders/GetAllPaging?PageIndex=" + $"{request.PageIndex}&PageSize={request.PageSize}&Keyword={request.Keyword}&" + $"FromDate={request.FromDate}&ToDate={request.ToDate}&Status={request.Status}")); }