Exemplo n.º 1
0
        public List <PlantType> Get(PlantTypeQueryParameters options)
        {
            IQueryable <PlantType> query = _dbContext.PlantType;

            if (!String.IsNullOrWhiteSpace(options.Term))
            {
                query = query.Where(plant =>
                                    plant.LatinName.Contains(options.Term) ||
                                    plant.CommonName.Contains(options.Term) ||
                                    plant.ScienceKingdom.Contains(options.Term) ||
                                    plant.ScienceClade1.Contains(options.Term) ||
                                    plant.ScienceClade2.Contains(options.Term) ||
                                    plant.ScienceClade3.Contains(options.Term) ||
                                    plant.ScienceFamily.Contains(options.Term) ||
                                    plant.ScienceSubfamily.Contains(options.Term) ||
                                    plant.ScienceGenus.Contains(options.Term)
                                    );
            }

            if (!string.IsNullOrWhiteSpace(options.OrderBy))
            {
                string[] sortArray = ValidateSortStrings(options.OrderBy);
                if (sortArray != null)
                {
                    foreach (string field in sortArray)
                    {
                        query = query.OrderBy(field);
                    }
                }
            }

            var list = query.Skip(options.PageIndex * options.Take).Take(options.Take).ToList();

            return(list);
        }
Exemplo n.º 2
0
        public IActionResult Get([FromQuery] PlantTypeQueryParameters queryParams)
        {
            queryParams.Take      = (queryParams.Take < 1 || queryParams.Take > 200) ? 50 : queryParams.Take;
            queryParams.PageIndex = (queryParams.PageIndex < 0) ? 0 : queryParams.PageIndex;

            List <PlantType> plantList = _plantData.Get(queryParams);

            if (plantList == null)
            {
                return(NotFound());
            }

            IEnumerable <PlantTypeDisplayViewModel> models =
                plantList.Select(p => new PlantTypeDisplayViewModel(p));

            return(Ok(models));
        }