예제 #1
0
        public async Task <PagedList <SalesOrder> > FindSalesOrderAsync(SalesOrderParameters parameters)
        {
            var queries = FindAll().AsQueryable();

            if (parameters.UserId != null)
            {
                queries = queries.Where(x => x.AppUserId == parameters.UserId);
            }
            queries = queries.OrderBy(x => x.OrderDate).OrderBy(x => x.Id);

            return(await PagedList <SalesOrder> .ToPagedList(queries, parameters.PageNumber, parameters.PageSize));
        }
예제 #2
0
        public async Task <IActionResult> FindOrderByAdminAsync([FromForm] SalesOrderParameters parameters)
        {
            var result = await _salesOrderService.FindAllSalesOrderAsync(parameters);

            if (!result.Succeed)
            {
                return(BadRequest(new ErrorResponse(HttpStatusCode.BadRequest, "Fail", result.Errors)));
            }

            var list = result.Value;

            if (list.TotalCount == 0)
            {
                return(NoContent());
            }

            Response.AddPagination(list.TotalCount, list.PageSize, list.CurrentPage, list.TotalPages, list.HasPrevious, list.HasNext);

            return(Ok(list));
        }
        public async Task <ProcessResult <PagedList <SalesOrderDTO> > > FindAllSalesOrderAsync(SalesOrderParameters parameters)
        {
            async Task <PagedList <SalesOrderDTO> > action()
            {
                var list = await _repoWrapper.SalesOrder.FindSalesOrderAsync(parameters);

                return(new PagedList <SalesOrderDTO>(_mapper.Map <List <SalesOrder>, List <SalesOrderDTO> >(list),
                                                     list.TotalCount, list.CurrentPage, list.PageSize));
            }

            return(await Process.RunAsync(action));
        }