示例#1
0
        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);
        }
示例#2
0
        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);
        }