public IEnumerable <TruckDTO> GetTrucks(SearchTrucksByParameters trucksByParameters) { if (trucksByParameters == null) { throw new ArgumentNullException(nameof(trucksByParameters)); } var trucksFromContext = _context.Truck.ToList(); var trucksToCheck = _mapper.Map <IEnumerable <TruckDTO> >(trucksFromContext).ToList(); var trucksToReturn = new List <TruckDTO>(); if (!string.IsNullOrWhiteSpace(trucksByParameters.SearchQuery)) { foreach (var item in trucksToCheck) { if (item.ToString().ToUpper().Contains(trucksByParameters.SearchQuery.ToUpper())) { trucksToReturn.Add(item); } } } return(trucksToReturn); }
public ActionResult <IEnumerable <TruckDTO> > GetTrucks( [FromQuery] SearchTrucksByParameters trucksByParameters) { IEnumerable <TruckDTO> trucks = new List <TruckDTO>(); if (string.IsNullOrWhiteSpace(trucksByParameters.SearchQuery)) { trucks = _logicRepository.GetTrucks(); } else { trucks = _logicRepository.GetTrucks(trucksByParameters); } trucks = trucks.OrderBy(p => p.GetType().GetProperty(trucksByParameters.SortBy).GetValue(p)).ToList(); return(Ok(trucks)); }