private EntityDataServiceResponse <TaxCodeInterval> GetTaxCodeIntervals(GetTaxCodeIntervalsDataRequest request) { GetTaxCodeIntervalsProcedure databaseAccessor = new GetTaxCodeIntervalsProcedure(request.RequestContext); PagedResult <TaxCodeInterval> taxCodeIntervals = databaseAccessor.GetTaxCodeIntervals(request.SalesTaxGroupId, request.ItemTaxGroupId, request.TransactionDate); return(new EntityDataServiceResponse <TaxCodeInterval>(taxCodeIntervals)); }
/// <summary> /// Gets the tax code intervals. /// </summary> /// <param name="context">The request context.</param> /// <param name="salesTaxGroupId">The sales tax group Id.</param> /// <param name="itemTaxGroupId">The item sales tax group Id.</param> /// <param name="transDate">The transaction date.</param> /// <returns>The tax code object.</returns> protected virtual ReadOnlyCollection <TaxCodeInterval> GetTaxCodeIntervals(RequestContext context, string salesTaxGroupId, string itemTaxGroupId, DateTimeOffset transDate) { GetTaxCodeIntervalsDataRequest dataServiceRequest = new GetTaxCodeIntervalsDataRequest(salesTaxGroupId, itemTaxGroupId, transDate); var response = context.Execute <EntityDataServiceResponse <TaxCodeInterval> >(dataServiceRequest); return(response.PagedEntityCollection.Results); }
/// <summary> /// The data service method to get tax code intervals. /// </summary> /// <param name="request">The data service request.</param> /// <returns>The data service response.</returns> private EntityDataServiceResponse <TaxCodeInterval> GetTaxCodeIntervals(GetTaxCodeIntervalsDataRequest request) { ThrowIf.Null(request.ItemTaxGroupId, "itemTaxGroupId"); var taxDataManager = this.GetDataManagerInstance(request.RequestContext); TaxL2CacheDataStoreAccessor level2CacheDataAccessor = (TaxL2CacheDataStoreAccessor)taxDataManager.DataStoreManagerInstance.RegisteredAccessors[DataStoreType.L2Cache]; bool found; bool updateL2Cache; ReadOnlyCollection <TaxCodeInterval> result = DataManager.GetDataFromCache(() => level2CacheDataAccessor.GetTaxCodeIntervals(request.SalesTaxGroupId, request.ItemTaxGroupId), out found, out updateL2Cache); if (!found) { ParameterSet parameters = new ParameterSet(); parameters[DatabaseAccessor.ChannelIdVariableName] = request.RequestContext.GetPrincipal().ChannelId; parameters["@nvc_SalesTaxGroup"] = request.SalesTaxGroupId ?? string.Empty; parameters["@nvc_ItemTaxGroup"] = request.ItemTaxGroupId ?? string.Empty; parameters["@dt_TransactionDate"] = request.TransactionDate.DateTime; using (SqlServerDatabaseContext databaseContext = new SqlServerDatabaseContext(request)) { result = databaseContext.ExecuteStoredProcedure <TaxCodeInterval>(GetTaxCodeIntervalsSprocName, parameters).Results; } updateL2Cache &= result != null && result.Count < MaxCachedCollectionSize; } if (updateL2Cache) { level2CacheDataAccessor.PutTaxCodeIntervals(request.SalesTaxGroupId, request.ItemTaxGroupId, request.TransactionDate, result); } return(new EntityDataServiceResponse <TaxCodeInterval>(result.AsPagedResult())); }