Пример #1
0
        public async Task <IEnumerable <ItemDAL> > GetItemsForViewAsync(string?category, string?search)
        {
            ServiceHttpClient.DefaultRequestHeaders.Accept.Clear();
            ServiceHttpClient.DefaultRequestHeaders.Accept.Add(
                new MediaTypeWithQualityHeaderValue("application/json"));
            ServiceHttpClient.DefaultRequestHeaders.Add("User-Agent", ".NET Foundation Repository Reporter");

            var streamTask     = ServiceHttpClient.GetStreamAsync(ServiceUri);
            var domainEntities = await JsonSerializer.DeserializeAsync <IEnumerable <Item> >(await streamTask);

            if (!String.IsNullOrEmpty(search))
            {
                domainEntities = domainEntities
                                 .Where(i => i.ItemName.ToLower().Contains(search.ToLower()) ||
                                        i.ItemCategory.ToLower().Contains(search.ToLower()) ||
                                        i.ItemDescription.ToLower().Contains(search.ToLower()));
            }

            if (!String.IsNullOrEmpty(category))
            {
                domainEntities = domainEntities
                                 .Where(c => c.ItemCategory.ToLower().Equals(category.ToLower()));
            }
            var result = domainEntities.Select(e => Mapper.Map(e));

            return(result);
        }