Ejemplo n.º 1
0
        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));
        }
Ejemplo n.º 2
0
        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));
        }
Ejemplo n.º 3
0
        public async Task <IActionResult> GetAllPaging([FromQuery] OrderPagingRequest request)
        {
            var result = await _orderSevice.GetAllPaging(request);

            if (result.IsSuccessed)
            {
                return(Ok(result));
            }
            return(BadRequest());
        }
Ejemplo n.º 4
0
 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}"));
 }