public ProductView[] GetProducts() { List <ProductView> products = new List <ProductView>(); var catalog = catalogApi.Get(); if (catalog == null) { return(products.ToArray()); } foreach (string id in catalog.ProductList) { var product = productApi.Get(id); if (product != null) { products.Add(productConverter.Convert(product)); } } return(products.ToArray()); }
public void Execute(ICommand T) { UpdateCommand command = T as UpdateCommand; if (command == null) { return; } var isbns = command.Isbns; for (int i = 0; i < isbns.Length / 10.0; i++) { var chunk = isbns.Skip(i * 10).Take(10).ToArray(); var founded = _unitOfWork.Repository.GetBooks().AsNoTracking().Where(x => isbns.Contains(x.Isbn13)).Select(x => x.Isbn13); var notFound = chunk.Except(founded).ToArray(); var result = _productApi.Get(notFound); if (result == null || !result.Any()) { continue; } foreach (var product in result) { _unitOfWork.Add(new BookStore.Search.CommandStack.Model.Book() { Imageurl = product.imageurl, Isbn13 = product.isbn13, Title = product.title, Url = product.url }); } _unitOfWork.Save(); } }