コード例 #1
0
        public async Task <List <Ingridient> > SearchIngridients(SearchIngridientModel searchIngridientModel)
        {
            if (searchIngridientModel != null && "".Equals(searchIngridientModel.Name))
            {
                throw new SearchException("Name for search can't be empty");
            }

            if (searchIngridientModel.LowKcal.HasValue && searchIngridientModel.LowKcal < 0)
            {
                throw new SearchException("The low kcal constraint can't be negative");
            }

            if (searchIngridientModel.HighKcal.HasValue && searchIngridientModel.HighKcal < 0)
            {
                throw new SearchException("The high kcal constraint can't be negative");
            }

            if (searchIngridientModel.LowKcal.HasValue &&
                searchIngridientModel.HighKcal.HasValue &&
                searchIngridientModel.LowKcal > searchIngridientModel.HighKcal)
            {
                throw new SearchException("The low kcal constraint can't be bigger than high kcal");
            }

            return(await _ingridientRepository.SearchIngridients(searchIngridientModel));
        }