public async Task <IEnumerable <ProductBrief> > GetProductBriefsAsync() { using (var log = RequestLogger.Current.BeginJungoLog(this)) { try { var billboard = await Billboard.GetAsync(Client).ConfigureAwait(false); var uri = Billboard.ResolveExpand(billboard.Products, Billboard.Templates.ExpandProductIdQueryValue); var prodsResponse = await Client.GetCacheableAsync <ProductsResponse>(uri).ConfigureAwait(false); if (prodsResponse == null || prodsResponse.Products == null || prodsResponse.Products.Product == null) { return(new ProductBrief[0]); } return(prodsResponse.Products.Product.Select(p => new ProductBrief { Id = p.Id, Uri = p.Uri, Relation = p.Relation, DisplayName = p.DisplayName, ThumbnailImage = p.ThumbnailImage })); } catch (Exception exc) { throw log.LogException(exc); } } }