コード例 #1
0
        public async Task <PageResultDto <DriverDto> > GetAllPagingAsync(GetDriverPagingRequestDto request)
        {
            var query = _context.Drivers.Where(x => x.IsDeleted == false).AsQueryable();

            // Filter
            if (!string.IsNullOrEmpty(request.Name))
            {
                query = query.Where(x => x.Name.Contains(request.Name));
            }
            if (!string.IsNullOrEmpty(request.PhoneNumber))
            {
                query = query.Where(x => x.PhoneNumber.Contains(request.PhoneNumber));
            }
            if (request.Status >= 0)
            {
                query = query.Where(x => (int)x.Status == request.Status);
            }
            // Paging
            var totalRow = await query.CountAsync();

            var data = await query.Skip((request.PageIndex - 1) *request.PageSize)
                       .Take(request.PageSize)
                       .Select(x => new DriverDto()
            {
                Id          = x.Id,
                Name        = x.Name,
                Address     = x.Address,
                Dob         = x.Dob,
                Email       = x.Email,
                PhoneNumber = x.PhoneNumber,
                Status      = (int)x.Status
            }).ToListAsync();

            var pageResult = new PageResultDto <DriverDto>()
            {
                StatusCode  = ResponseCode.Success,
                TotalRecord = totalRow,
                Message     = "Thực hiện thành công",
                Items       = data
            };

            return(pageResult);
        }
コード例 #2
0
        public async Task <PageResultDto <DriverDto> > GetAllPaging([FromQuery] GetDriverPagingRequestDto request)
        {
            var result = await _driverService.GetAllPagingAsync(request);

            return(result);
        }