public IList <IPriceValue> GetDiscountPriceList(IEnumerable <CatalogKey> catalogKeys, MarketId marketId, Currency currency) { if (_marketService.GetMarket(marketId) == null) { throw new ArgumentException(string.Format("market '{0}' does not exist", marketId)); } var priceFilter = new PriceFilter { CustomerPricing = new[] { CustomerPricing.AllCustomers }, Quantity = 1, ReturnCustomerPricing = true, }; if (currency != Currency.Empty) { priceFilter.Currencies = new[] { currency }; } var prices = catalogKeys.SelectMany(x => _pricingService.GetPriceList(x.CatalogEntryCode, marketId, priceFilter)); return(GetDiscountPrices(prices.ToList(), marketId, currency)); }