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); }
public VehiclePaginationResponse SearchVehicles([FromBody] SearchVehicleRequestModel searchVehicleRequest) { return(unitOfWork.Vehicles.SearchVehicles(searchVehicleRequest)); }