/// <summary> /// Fetch the superset of discount trade agreements which could apply to all of these items and customer for the given dates. /// </summary> /// <param name="itemIds">The item Ids to fetch for agreements for.</param> /// <param name="customerAccount">Optional. Customer account number to search by.</param> /// <param name="minActiveDate">The earliest inclusive active date to search by. Must be less than or equal to maxActiveDate.</param> /// <param name="maxActiveDate">The latest inclusive active date to search by. Must be greater than or equal to minActiveDate.</param> /// <param name="currencyCode">Currency code to filter by.</param> /// <param name="settings">The query result settings.</param> /// <returns>Collection of trade agreements which may be applied to the given items of type ReadOnlyCollection<TradeAgreement>.</returns> public object ReadDiscountTradeAgreements( object itemIds, string customerAccount, DateTimeOffset minActiveDate, DateTimeOffset maxActiveDate, string currencyCode, QueryResultSettings settings) { ISet <string> itemIdSet = itemIds as ISet <string>; using (SimpleProfiler profiler = new SimpleProfiler("ReadDiscountTradeAgreements", 1)) { var dataRequest = new ReadDiscountTradeAgreementsDataRequest( itemIdSet, customerAccount, minActiveDate, maxActiveDate, currencyCode); dataRequest.QueryResultSettings = settings; return(this.ExecuteDataService <TradeAgreement>(dataRequest)); } }
private EntityDataServiceResponse <TradeAgreement> ReadDiscountTradeAgreements(ReadDiscountTradeAgreementsDataRequest request) { var pricingSqlDataManager = this.GetDataManagerInstance(request.RequestContext); var retailDiscountTradeAgreements = pricingSqlDataManager.ReadDiscountTradeAgreements( request.ItemId, request.CustomerAccount, request.MinActiveDate, request.MaxActiveDate, request.CurrencyCode); return(new EntityDataServiceResponse <TradeAgreement>(retailDiscountTradeAgreements.AsPagedResult())); }