Class RecordStateSet
A collection of RecordState for a request, with methods to work within the request processing flow.
Inheritance
Inherited Members
Namespace: Mediachase.Commerce.InventoryService.BusinessLogic
Assembly: Mediachase.Commerce.dll
Version: 12.17.2Syntax
public class RecordStateSet : IEnumerable<RecordState>, IEnumerable
Constructors
RecordStateSet()
Creates a new instance of RecordStateSet.
Declaration
public RecordStateSet()
Properties
Item[InventoryKey]
Gets an InventoryKey for the specified InventoryKey.
Declaration
public RecordState this[InventoryKey key] { get; }
Parameters
| Type | Name | Description |
|---|---|---|
| InventoryKey | key | The InventoryKey to get a record state for. |
Property Value
| Type | Description |
|---|---|
| RecordState | The RecordState matching |
Methods
GetEntryRecords(String)
Gets all RecordState instances matching catalogEntryCode.
Declaration
public IList<RecordState> GetEntryRecords(string catalogEntryCode)
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | catalogEntryCode | The catalog entry code to match. |
Returns
| Type | Description |
|---|---|
| System.Collections.Generic.IList<RecordState> | All loaded RecordState instances matching |
Remarks
Custom processors supporting decisions between mutiple warehouses should use GetEntryRecords(String) instead of TryGetRecord(String, String, out RecordState) to fetch record states.
GetEnumerator()
Enumerates all RecordState instances in the RecordStateSet.
Declaration
public IEnumerator<RecordState> GetEnumerator()
Returns
| Type | Description |
|---|---|
| System.Collections.Generic.IEnumerator<RecordState> |
IncludeRecordsFor(String, String)
Notifies the RecordStateSet that the processor will access the inventory
record with the specified catalog entry code and warehouse code; or all inventory
records with the specified catalog entry code, if warehouseCode is
null or empty.
Declaration
public void IncludeRecordsFor(string catalogEntryCode, string warehouseCode)
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | catalogEntryCode | The catalog entry code to match. |
| System.String | warehouseCode | The warehouse code to match, or null or empty to match any warehouse. |
Remarks
This method is intended to be called from the constructors of classes extending RequestItemProcessor, and will determine what records are retrieved by LoadRequestedRecords(IInventoryService). Once LoadRequestedRecords(IInventoryService) has been called, IncludeRecordsFor(String, String) will have no effect.
LoadRequestedRecords(IInventoryService)
Loads the records requested by IncludeRecordsFor(String, String).
Declaration
public void LoadRequestedRecords(IInventoryService inventoryService)
Parameters
| Type | Name | Description |
|---|---|---|
| IInventoryService | inventoryService | The inventory service to load records from. |
Remarks
Called by the RequestProcessor after all RequestItemProcessor instances have been created.
TryGetRecord(String, String, out RecordState)
Attempts to get a single RecordState matching a catalog entry and
warehouse code, or just a catalog entry if warehouseCode is null or
empty.
Declaration
public InventoryResponseType TryGetRecord(string catalogEntryCode, string warehouseCode, out RecordState record)
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | catalogEntryCode | The catalog entry code to get records for. |
| System.String | warehouseCode | The warehouse code to get records for, or null or empty to get records for any warehouse. |
| RecordState | record | An out parameter that will be set to the matching record on success. |
Returns
| Type | Description |
|---|---|
| InventoryResponseType | Success on success,
ItemNotFound if no matching records are found, or
AmbiguousWarehouse if
|
Explicit Interface Implementations
IEnumerable.GetEnumerator()
Declaration
IEnumerator IEnumerable.GetEnumerator()
Returns
| Type | Description |
|---|---|
| System.Collections.IEnumerator |