Advertisement
Guest User

Untitled

a guest
Jun 27th, 2017
54
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.79 KB | None | 0 0
  1.         public XDocument GetProductsInXML(IShopControllerResult model, long shopId, string languageCode)
  2.         {
  3.             var schemeId = GetDefaultProductClassificationScheme(shopId).ProductClassificationSchemeId;
  4.             var products = _shopRepository.GetAllProducts(shopId, languageCode);
  5.             var categories = _shopRepository.GetAllCategories(shopId, languageCode);            
  6.             var rollups = _shopRepository.GetProductCategoryIdsFromCurrentTree(schemeId);
  7.             categories = categories.Where(x => rollups.Contains(x.ProductCategoryId)).ToList();
  8.             var categoriesIds = categories.Select(x => x.ProductCategoryId).ToList();
  9.             var classifications = _shopRepository.GeAllClassifications(shopId);
  10.             classifications = classifications.Where(x => categoriesIds.Contains(x.ProductCategoryId)).ToList();
  11.             var classificationsIds = classifications.Select(x => x.BaseProductId).ToList();
  12.             var productOnDemandIds = _shopRepository.GetProductIdsForAttribute(model.Shop.PriceOnDemandAttributeId);
  13.             products = products.Where(x => classificationsIds.Contains(x.BaseProductId)).ToList();
  14.             var productsBasicData = GenerateBasicProductDataModels(products);
  15.  
  16.             FillProductWithIsOnDemandFlag(productsBasicData, productOnDemandIds);
  17.             FillProductsWithCategoryData(classifications, productsBasicData,categories);
  18.             _shopRepository.FillProductsWithImages(productsBasicData);
  19.             FillProductsWithAppropriateImagePath(model, productsBasicData);
  20.             FillProductsWithUrls(model, productsBasicData);
  21.  
  22.             return new XDocument(new XDeclaration("1.0", "UTF-8", "yes"),
  23.                                     new XElement("items", GetXElements(productsBasicData)));
  24.         }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement