public ActionResult <IEnumerable <PlantDto> > GetPlants( //[FromQuery] string genus, [FromQuery] string searchQuery [FromQuery] PlantResourceParameters plantResourceParameters) //IActionResult { var plantsFromRep = _experimentRepository.GetPlants(plantResourceParameters); var plantsDto = _mapper.Map <IEnumerable <PlantDto> >(plantsFromRep); //foreach (var plant in plantsFromRep) //{ // plantsDto.Add(new PlantDto // { // Id = plant.Id, // Name = plant.Name, // Classification = $"{plant.Genus},{plant.Family}", // DaysFromPlanting = plant.PlantingDate.GetGapDays(), // Multiplication = (int)plant.Multiplication // }) ; //} return(Ok(plantsDto));//new JsonResult(plants); }
public IEnumerable <Plant> GetPlants(PlantResourceParameters plantResParam) { if (plantResParam == null) { throw new ArgumentNullException(nameof(plantResParam)); } if (string.IsNullOrWhiteSpace(plantResParam.Genus) && string.IsNullOrWhiteSpace(plantResParam.SearchQuery)) { return(GetPlants()); } var collection = _context.Plants as IQueryable <Plant>; if (!string.IsNullOrWhiteSpace(plantResParam.SearchQuery)) { collection = collection.Where(p => p.Name.Contains(plantResParam.SearchQuery) || p.Genus.Contains(plantResParam.SearchQuery) || p.Family.Contains(plantResParam.SearchQuery)); } return(collection); }