Class InventoryServiceProvider
Inheritance
Implements
Inherited Members
Namespace: Mediachase.Commerce.InventoryService
Assembly: Mediachase.Commerce.dll
Version: 12.17.2Syntax
public class InventoryServiceProvider : IInventoryService
Constructors
InventoryServiceProvider(RequestProcessorFactory, ISynchronizedObjectInstanceCache)
Creates a new instance of InventoryServiceProvider.
Declaration
public InventoryServiceProvider(RequestProcessorFactory processorFactory, ISynchronizedObjectInstanceCache cache)
Parameters
| Type | Name | Description |
|---|---|---|
| RequestProcessorFactory | processorFactory | The factory for request processors. |
| EPiServer.Framework.Cache.ISynchronizedObjectInstanceCache | cache | The cache. |
Methods
Adjust(IEnumerable<InventoryChange>)
Incrments or decrements matching values in the inventory provider. Elements of
changes are matched to existing data by item and warehouse code,
and each quantity in the InventoryChange is added to the
corresponding quantity in the inventory provider.
Declaration
public virtual void Adjust(IEnumerable<InventoryChange> changes)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Collections.Generic.IEnumerable<InventoryChange> | changes | The changes to apply. |
Delete(IEnumerable<InventoryKey>)
Deletes all specified inventory data.
Declaration
public virtual void Delete(IEnumerable<InventoryKey> inventoryKeys)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Collections.Generic.IEnumerable<InventoryKey> | inventoryKeys | The inventory data to delete. |
DeleteByEntry(IEnumerable<String>)
Deletes all inventory data for the specified catalog entries.
Declaration
public virtual void DeleteByEntry(IEnumerable<string> catalogEntryCodes)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Collections.Generic.IEnumerable<System.String> | catalogEntryCodes | The catalog entry codes to match. |
DeleteByWarehouse(IEnumerable<String>)
Deletes all inventory data for the specified warehouses.
Declaration
public virtual void DeleteByWarehouse(IEnumerable<string> warehouseCodes)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Collections.Generic.IEnumerable<System.String> | warehouseCodes |
Get(String, String)
Gets a single inventory record for a catalog entry and a warehouse, or null if a record does not exist.
Declaration
public virtual InventoryRecord Get(string catalogEntryCode, string warehouseCode)
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | catalogEntryCode | The code of the desired catalog entry. |
| System.String | warehouseCode | The code of the desired warehouse. |
Returns
| Type | Description |
|---|---|
| InventoryRecord | The matching InventoryRecord, or null if not found. |
GetCacheSkippingInstance()
Gets an instance of IInventoryService that will skip the cache on reads. Writes to the instance will still invalidate cache entries.
Declaration
public virtual IInventoryService GetCacheSkippingInstance()
Returns
| Type | Description |
|---|---|
| IInventoryService | An instance of IInventoryService that will skip the cache on reads. |
Insert(IEnumerable<InventoryRecord>)
Inserts the specified inventory records. An exception will be thrown if any records exist with matching InventoryRecord.CatalogEntryCode and InventoryRecord.WarehouseCode values.
Declaration
public virtual void Insert(IEnumerable<InventoryRecord> records)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Collections.Generic.IEnumerable<InventoryRecord> | records | The records to insert. |
List()
Lists all inventory records.
Declaration
public virtual IList<InventoryRecord> List()
Returns
| Type | Description |
|---|---|
| System.Collections.Generic.IList<InventoryRecord> | A list of all InventoryRecord values. |
QueryByEntry(IEnumerable<String>)
Lists all inventory records matching catalogEntryCodes.
Declaration
public virtual IList<InventoryRecord> QueryByEntry(IEnumerable<string> catalogEntryCodes)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Collections.Generic.IEnumerable<System.String> | catalogEntryCodes | The codes of the desired catalog entries. |
Returns
| Type | Description |
|---|---|
| System.Collections.Generic.IList<InventoryRecord> | A list of all matching InventoryRecord. |
QueryByEntry(IEnumerable<String>, Int32, Int32, out Int32)
Lists all inventory records matching catalogEntryCodes, ordered by
the entry and warehouse codes, with paging.
Declaration
public virtual IList<InventoryRecord> QueryByEntry(IEnumerable<string> catalogEntryCodes, int offset, int count, out int totalCount)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Collections.Generic.IEnumerable<System.String> | catalogEntryCodes | The codes of the desired catalog entries. |
| System.Int32 | offset | The number of records to skip. |
| System.Int32 | count | The maximum number of records to return. |
| System.Int32 | totalCount | The total number of matching records. |
Returns
| Type | Description |
|---|---|
| System.Collections.Generic.IList<InventoryRecord> | A list of all matching InventoryRecords in the specified range. |
QueryByPartialKey(IEnumerable<InventoryKey>)
Lists all inventory records matching an item in partialKeys. The values
of CatalogEntryCode and/or
WarehouseCode may be null to match any value.
Declaration
public virtual IList<InventoryRecord> QueryByPartialKey(IEnumerable<InventoryKey> partialKeys)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Collections.Generic.IEnumerable<InventoryKey> | partialKeys | The keys to match. |
Returns
| Type | Description |
|---|---|
| System.Collections.Generic.IList<InventoryRecord> | A list of all matching InventoryRecords. |
Remarks
This method exists to support implementations of the Request method. Note that only specifically null values will act as wildcards; empty or white space strings will not be treated as a wildcard.
QueryByPartialKey(IEnumerable<InventoryKey>, Int32, Int32, out Int32)
Lists all inventory records matching an item in partialKeys, ordered
by the entry and warehouse codes, with paging. The values of
CatalogEntryCode and/or
WarehouseCode may be null to match any value.
Declaration
public virtual IList<InventoryRecord> QueryByPartialKey(IEnumerable<InventoryKey> partialKeys, int offset, int count, out int totalCount)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Collections.Generic.IEnumerable<InventoryKey> | partialKeys | The keys to match. |
| System.Int32 | offset | The number of records to skip. |
| System.Int32 | count | The maximum number of records to return. |
| System.Int32 | totalCount | The total number of matching records. |
Returns
| Type | Description |
|---|---|
| System.Collections.Generic.IList<InventoryRecord> | A list of all matching InventoryRecords in the specified range. |
Remarks
This method exists to support implementations of the Request method. Note that only specifically null values will act as wildcards; empty or white space strings will not be treated as a wildcard.
QueryByWarehouse(IEnumerable<String>)
Lists all inventory records matching warehouseCodes.
Declaration
public virtual IList<InventoryRecord> QueryByWarehouse(IEnumerable<string> warehouseCodes)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Collections.Generic.IEnumerable<System.String> | warehouseCodes | The IDs of the desired warehouses. |
Returns
| Type | Description |
|---|---|
| System.Collections.Generic.IList<InventoryRecord> | A list of all matching InventoryRecords. |
QueryByWarehouse(IEnumerable<String>, Int32, Int32, out Int32)
Lists all inventory records matching warehouseCodes, ordered by the
entry and warehouse codes, with paging.
Declaration
public virtual IList<InventoryRecord> QueryByWarehouse(IEnumerable<string> warehouseCodes, int offset, int count, out int totalCount)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Collections.Generic.IEnumerable<System.String> | warehouseCodes | The codes of the desired warehouses. |
| System.Int32 | offset | The number of records to skip. |
| System.Int32 | count | The maximum number of records to return. |
| System.Int32 | totalCount | The total number of matching records. |
Returns
| Type | Description |
|---|---|
| System.Collections.Generic.IList<InventoryRecord> | A list of all matching InventoryRecords in the specified range. |
Request(InventoryRequest)
Requests a transactional inventory operation.
Declaration
public virtual InventoryResponse Request(InventoryRequest request)
Parameters
| Type | Name | Description |
|---|---|---|
| InventoryRequest | request | The request. |
Returns
| Type | Description |
|---|---|
| InventoryResponse | The result of the request. |
Save(IEnumerable<InventoryRecord>)
Saves the specified inventory records. Records will be matched to existing records on InventoryRecord.CatalogEntryCode and InventoryRecord.WarehouseCode values; and will be updated when a match is found and inserted when a match is not found.
Declaration
public virtual void Save(IEnumerable<InventoryRecord> records)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Collections.Generic.IEnumerable<InventoryRecord> | records | The records to save. |
Update(IEnumerable<InventoryRecord>)
Updates the specified records. Records will be matched to existing records on InventoryRecord.CatalogEntryCode and InventoryRecord.WarehouseCode values; and an exception will be thrown for any records that do not match.
Declaration
public virtual void Update(IEnumerable<InventoryRecord> records)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Collections.Generic.IEnumerable<InventoryRecord> | records |