Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public XDocument GetProductsInXML(IShopControllerResult model, long shopId, string languageCode)
- {
- var schemeId = GetDefaultProductClassificationScheme(shopId).ProductClassificationSchemeId;
- var products = _shopRepository.GetAllProducts(shopId, languageCode);
- var categories = _shopRepository.GetAllCategories(shopId, languageCode);
- var rollups = _shopRepository.GetProductCategoryIdsFromCurrentTree(schemeId);
- categories = categories.Where(x => rollups.Contains(x.ProductCategoryId)).ToList();
- var categoriesIds = categories.Select(x => x.ProductCategoryId).ToList();
- var classifications = _shopRepository.GeAllClassifications(shopId);
- classifications = classifications.Where(x => categoriesIds.Contains(x.ProductCategoryId)).ToList();
- var classificationsIds = classifications.Select(x => x.BaseProductId).ToList();
- var productOnDemandIds = _shopRepository.GetProductIdsForAttribute(model.Shop.PriceOnDemandAttributeId);
- products = products.Where(x => classificationsIds.Contains(x.BaseProductId)).ToList();
- var productsBasicData = GenerateBasicProductDataModels(products);
- FillProductWithIsOnDemandFlag(productsBasicData, productOnDemandIds);
- FillProductsWithCategoryData(classifications, productsBasicData,categories);
- _shopRepository.FillProductsWithImages(productsBasicData);
- FillProductsWithAppropriateImagePath(model, productsBasicData);
- FillProductsWithUrls(model, productsBasicData);
- return new XDocument(new XDeclaration("1.0", "UTF-8", "yes"),
- new XElement("items", GetXElements(productsBasicData)));
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement