public async Task <IEnumerable <SelectListItem> > GetTypes()
        {
            var apiPath = CatalogApiPaths.GetCatalogTypes(_settings.Value.CatalogServiceUri);

            var typesString = await _httpClient.GetStringAsync(apiPath);

            var items = new List <SelectListItem>
            {
                new SelectListItem
                {
                    Value    = null,
                    Text     = "All",
                    Selected = true
                }
            };

            var types = JArray.Parse(typesString);

            foreach (var type in types.Children <JObject>())
            {
                items.Add(new SelectListItem
                {
                    Value = type.Value <string>("id"),
                    Text  = type.Value <string>("type")
                });
            }

            return(items);
        }
        public async Task <CatalogItem> GetCatalogItemById(int id)
        {
            var apiPath = CatalogApiPaths.GetCatalogItemById(_settings.Value.CatalogServiceUri, id);

            var catalog = await _httpClient.GetStringAsync(apiPath);

            return(JsonConvert.DeserializeObject <CatalogItem>(catalog));
        }
        public async Task <CatalogItems> GetCatalogItems(int pageSize, int pageIndex, int?brandId, int?typeId)
        {
            var apiPath = CatalogApiPaths.GetCatalogItems(
                _settings.Value.CatalogServiceUri,
                typeId,
                brandId,
                pageSize,
                pageIndex);

            var catalogItems = await _httpClient.GetStringAsync(apiPath);

            return(JsonConvert.DeserializeObject <CatalogItems>(catalogItems));
        }