public static ProcessedProductFeed ProcessProductFeed(IEnumerable <Product> preProcessProducts, IEnumerable <AccountPrice> accountPrices)
        {
            var feed = new ProcessedProductFeed();

            foreach (var product in preProcessProducts)
            {
                ProcessedProduct processedProduct = ConvertProduct(product);
                feed.Products.Add(processedProduct);
            }

            foreach (var price in accountPrices)
            {
                ProcessedAccountPrice processedAccountPrice = ConvertAccountPrice(price);
                feed.AccountPrices.Add(processedAccountPrice);
            }

            return(feed);
        }
        public static List <ProcessedProductDelta> ProcessProductDeltas(IEnumerable <Product> preProcessProducts, IEnumerable <DeletedProductSku> deletedProducts, IEnumerable <AccountPrice> accountPrices, IEnumerable <DeletedAccountPrice> deletedAccountPrices, string accessKey)
        {
            var processedProducts      = new List <ProcessedProduct>();
            var processedAccountPrices = new List <ProcessedAccountPrice>();

            foreach (var product in preProcessProducts)
            {
                ProcessedProduct processedProduct = ConvertProduct(product);
                processedProducts.Add(processedProduct);
            }

            foreach (var price in accountPrices)
            {
                ProcessedAccountPrice processedAccountPrice = ConvertAccountPrice(price);
                processedAccountPrices.Add(processedAccountPrice);
            }

            return(ComposeDeltas.GenerateDeltas(processedProducts, deletedProducts, processedAccountPrices, deletedAccountPrices, accessKey));
        }