private static Wishlist Wishlist(string listId) { Assert.ValidInput(listId, "listId"); if (ServiceCache.IsInCache <Wishlist>(listId)) { var cachedWishlist = (Wishlist)ServiceCache.GetFromCache <Wishlist>(listId); if (cachedWishlist != null) { return(cachedWishlist); } } var amazonResponse = new AmazonFactory(BuildRequest(null, listId)).GetResponse(); HandleErrors(amazonResponse.Errors); return(new Wishlist(amazonResponse.Products.OrderBy(p => p.AuthorsMLA).ThenBy(p => p.Title)).AddToCache(listId)); }
private static Reviews Reviews(string customerId) { Assert.ValidInput(customerId, "customerId"); if (ServiceCache.IsInCache <Reviews>(customerId)) { var cachedReviews = (Reviews)ServiceCache.GetFromCache <Reviews>(customerId); if (cachedReviews != null) { return(cachedReviews); } } var amazonResponse = new AmazonFactory(BuildRequest(customerId, null)).GetResponse(); HandleErrors(amazonResponse.Errors); return(new Reviews(amazonResponse.Reviews.OrderByDescending(r => r.Date)).AddToCache(customerId)); }