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);
        }
Exemplo n.º 2
0
        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));
        }