public async Task <PageResultDto <StopDto> > GetAllPaging(GetStopPagingReqestDto request)
        {
            var query = from s in _context.Stops
                        where s.IsDeleted == false
                        join r in _context.Routes on s.RouteId equals r.Id
                        select new { s, r };

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

            var data = await query.Skip((request.PageIndex - 1) *request.PageSize)
                       .Take(request.PageSize)
                       .Select(x => new StopDto()
            {
                Id               = x.s.Id,
                Name             = x.s.Name,
                Address          = x.s.Address,
                Longitude        = x.s.Longitude,
                Latitude         = x.s.Latitude,
                TimePickUp       = x.s.TimePickUp,
                TimeDropOff      = x.s.TimeDropOff,
                NumberOfStudents = x.s.NumberOfStudents,
                Status           = (int)x.s.Status,
                TypeStop         = (int)x.s.TypeStop,
                RouteId          = x.s.RouteId,
                RouteName        = x.r.Name
            }).ToListAsync();

            // Return
            var pageResult = new PageResultDto <StopDto>()
            {
                StatusCode  = ResponseCode.Success,
                Message     = "Thành công",
                TotalRecord = totalRow,
                Items       = data
            };

            return(pageResult);
        }
 public async Task<PageResultDto<StopDto>> GetAllPaging([FromQuery]GetStopPagingReqestDto request)
 {
     var result = await _stopService.GetAllPaging(request);
     return result;
 }