public IProduct GetProduct(int storeID, string cultureCode, long productID) {

            DbProduct eProduct = GetECommerceProduct(storeID, cultureCode, productID);
            IProduct product = new Domain.Catalogue.Product();

            eProduct.PopulateProductSummary(product);

            product.CrossSellList = GetRelatedProducts(eProduct, "CrossSell");
            product.UpSellList = GetRelatedProducts(eProduct, "UpSell");
            product.ActiveAttributeList = GetProductAttributes(product);
            product.ProductImages = GetProductImages(eProduct);
            product.DocumentList = GetProductDocuments(eProduct);

            foreach (ProductSynonym s in eProduct.Synonyms) {
                product.SynonymList.Add(s);
            }

            return product;
        }
        public IProductSummary GetProductSummary(int storeID, string cultureCode, long productID) {

            IProduct product = new Domain.Catalogue.Product();

            DbProduct ep = GetECommerceProduct(storeID, cultureCode, productID);

            ep.PopulateProductSummary(product);

            foreach (ProductSynonym s in ep.Synonyms) {
                product.SynonymList.Add(s);
            }
            if (ep.StockLevel > 0) {
                product.StockedIndicator = 1;
            }

            return product;
        }