Пример #1
0
        public IReadOnlyCollection <Business> QueryAsync(QueryBusinessParameters parameters)
        {
            var queryable = _table.CreateQuery <Business>()
                            .Where(x => x.IsApproved);

            if (!string.IsNullOrEmpty(parameters.IsoCountryCode))
            {
                queryable = queryable.Where(x => x.CountryIsoCode == parameters.IsoCountryCode);
            }

            if (!string.IsNullOrEmpty(parameters.Term))
            {
                queryable = queryable.Where(x => x.Name.Equals(parameters.Term));
            }

            return(queryable
                   .Take(parameters.Take)
                   .ToList());
        }
Пример #2
0
        private static QueryBusinessParameters GetModelFromQueryParameters(IQueryCollection query)
        {
            var dto = new QueryBusinessParameters();

            if (query["take"].FirstOrDefault() is string take)
            {
                dto.Take = Convert.ToInt32(take);
            }

            if (query["term"].FirstOrDefault() is string term)
            {
                dto.Term = term;
            }

            if (query["isoCountryCode"].FirstOrDefault() is string isoCountryCode)
            {
                dto.IsoCountryCode = isoCountryCode;
            }

            new QueryBusinessParameters.Validator().ValidateAndThrow(dto);

            return(dto);
        }