コード例 #1
0
        public VehiclePaginationResponse SearchVehicles(SearchVehicleRequestModel vehicle)
        {
            int pageSize   = 3;
            var queryChain = Context.Vehicles.Where(v => v.Unavailable == false).ToList();

            if (!String.IsNullOrEmpty(vehicle.Model))
            {
                queryChain = queryChain.Where(v => v.Model.ToLower().Contains(vehicle.Model.ToLower())).ToList();
            }
            if (!String.IsNullOrEmpty(vehicle.Manufactor))
            {
                queryChain = queryChain.Where(v => v.Manufactor.ToLower().Contains(vehicle.Manufactor.ToLower())).ToList();
            }
            if (vehicle.Year != 0)
            {
                queryChain = queryChain.Where(v => v.Year == vehicle.Year).ToList();
            }
            if (!String.IsNullOrEmpty(vehicle.Type))
            {
                queryChain = queryChain.Where(v => v.Type.Name.ToLower().Contains(vehicle.Type.ToLower())).ToList();
            }
            if (vehicle.PricePerHour != 0)
            {
                queryChain = queryChain.Where(v => v.PricePerHour == vehicle.PricePerHour).ToList();
            }
            VehiclePaginationResponse vpr = new VehiclePaginationResponse();

            vpr.Vehicles = queryChain.Skip((vehicle.Page - 1) * pageSize).Take(pageSize).ToList();

            int pages;

            if (queryChain.ToList().Count % pageSize == 0)
            {
                pages = queryChain.ToList().Count / pageSize;
            }
            else
            {
                pages = (queryChain.ToList().Count / pageSize) + 1;
            }

            vpr.Pages = pages;
            return(vpr);
        }
コード例 #2
0
 public VehiclePaginationResponse SearchVehicles([FromBody] SearchVehicleRequestModel searchVehicleRequest)
 {
     return(unitOfWork.Vehicles.SearchVehicles(searchVehicleRequest));
 }