Try our conversational search powered by Generative AI!

Class Entry

The Entry parameter serves as a container element that is a child of the Entries element, and represents the Catalog Entry element, which can be Product, Variation, Bundle or any other type of product.

Inheritance
System.Object
Entry
Inherited Members
System.Object.ToString()
System.Object.Equals(System.Object)
System.Object.Equals(System.Object, System.Object)
System.Object.ReferenceEquals(System.Object, System.Object)
System.Object.GetHashCode()
System.Object.GetType()
System.Object.MemberwiseClone()
Namespace: Mediachase.Commerce.Catalog.Objects
Assembly: Mediachase.Commerce.dll
Version: 10.8.0
Syntax
public class Entry

Constructors

Entry()

Initializes a new instance of the Entry class.

Declaration
public Entry()
Remarks

The parameterless constructor is intended to be used only when simulating entry data for display or default case purposes, and is not intended to be used when loading persisted data from the database. Please use one of the appropriate parameterized constructors when loading persisted data. The required application information will be determined from the current AppContext.

Entry(CatalogEntryDto.CatalogEntryRow)

Initializes a new instance of the Entry class. Backwards compatible with prior releases.

Declaration
[Obsolete("Use constructor with Mediachase.Commerce.InventoryService.IInventoryService. Will remain at least until October 2017")]
public Entry(CatalogEntryDto.CatalogEntryRow input)
Parameters
Type Name Description
CatalogEntryDto.CatalogEntryRow input

The catalog entry row being processed.

Remarks

This constructor will be marked obsolete in future releases. Applying service dependency lookups in the constructor can cause performance issues when large numbers of entries are loaded, and should be handled outside the constructor. Please use the Entry(IWarehouseRepository, IWarehouseInventoryService, CatalogEntryDto.CatalogEntryRow, CatalogEntryResponseGroup.ResponseGroup) constructor instead. This Entry record will not be marked with any CatalogEntryResponseGroup flags by default.

Entry(IWarehouseRepository, IWarehouseInventoryService, CatalogEntryDto.CatalogEntryRow, CatalogEntryResponseGroup.ResponseGroup)

Declaration
[Obsolete("Use constructor with Mediachase.Commerce.InventoryService.IInventoryService. Will remain at least until October 2017")]
public Entry(IWarehouseRepository warehouseRepository, IWarehouseInventoryService inventoryService, CatalogEntryDto.CatalogEntryRow input, CatalogEntryResponseGroup.ResponseGroup responseGroup)
Parameters
Type Name Description
IWarehouseRepository warehouseRepository
IWarehouseInventoryService inventoryService
CatalogEntryDto.CatalogEntryRow input
CatalogEntryResponseGroup.ResponseGroup responseGroup

Entry(IWarehouseRepository, IInventoryService, CatalogEntryDto.CatalogEntryRow, CatalogEntryResponseGroup.ResponseGroup)

Initializes a new instance of the Entry class.

Declaration
public Entry(IWarehouseRepository warehouseRepository, IInventoryService inventoryService, CatalogEntryDto.CatalogEntryRow input, CatalogEntryResponseGroup.ResponseGroup responseGroup)
Parameters
Type Name Description
IWarehouseRepository warehouseRepository

The warehouse repository service. Used to validate the older Variation table single-warehouse data field.

IInventoryService inventoryService

The inventory service to use to load per-warehouse inventory data.

CatalogEntryDto.CatalogEntryRow input

The catalog entry row being processed.

CatalogEntryResponseGroup.ResponseGroup responseGroup

The response group used to determine the scope of the data being loaded from persisted sources.
All data in the provided CatalogEntryDto.CatalogEntryRow will be loaded regardless of this parameter setting to support backwards compatibility. Data from the new warehouse-specific inventory system will be loaded if this parameter includes the Inventory or Full flag.

Remarks

While the constructors accept dependencies, the dependencies will not be stored with the object, since it is serializable. The code in the contructors should be moved to a factory or controller where dependencies may be managed properly. Data from the new warehouse-specific inventory system will be loaded if this parameter includes the Inventory flag, the Full flag, or the provided CatalogEntryDto.CatalogEntryRow includes an InventoryRow (to support backwards compatibility).

Entry(Guid)

Initializes a new instance of the Entry class.

Declaration
public Entry(Guid applicationId)
Parameters
Type Name Description
System.Guid applicationId

The ID of the associated application context.

Remarks

See Entry for details. This constructor acts like the non-parameterized version, except it bypasses the resolution of the required ApplicationId field (e.g. for performance reasons).

Properties

ApplicationId

Gets or sets the application ID.

Declaration
public Guid ApplicationId { get; set; }
Property Value
Type Description
System.Guid

The application ID.

Remarks

If the entry was not loaded from the database, this will be Guid.Empty.

Assets

Gets or sets the assets.

Declaration
public ItemAsset[] Assets { get; set; }
Property Value
Type Description
ItemAsset[]

The assets.

Associations

Gets or sets the associations.

Declaration
public Association[] Associations { get; set; }
Property Value
Type Description
Association[]

The associations.

CatalogEntryId

Gets or sets the catalog entry ID.

Declaration
public int CatalogEntryId { get; set; }
Property Value
Type Description
System.Int32

The catalog entry ID.

CatalogId

Gets or sets the CatalogId.

Declaration
public int CatalogId { get; set; }
Property Value
Type Description
System.Int32

The catalog id.

DisplayTemplate

Gets or sets the display template.

Declaration
public string DisplayTemplate { get; set; }
Property Value
Type Description
System.String

The display template.

EndDate

Gets or sets the end date.

Declaration
public DateTime EndDate { get; set; }
Property Value
Type Description
System.DateTime

The end date.

Entries

Gets or sets the entries.

Declaration
public Entries Entries { get; set; }
Property Value
Type Description
Entries

The entries.

EntryType

Gets or sets the type of the entry.

Declaration
public string EntryType { get; set; }
Property Value
Type Description
System.String

The type of the entry.

ID

Gets or sets the Catalog Entry Code.

Declaration
public string ID { get; set; }
Property Value
Type Description
System.String

The Catalog Entry Code.

Remarks

This is the string catalog entry code. It is not the numeric ID.

Inventory

Gets or sets the inventory.

Declaration
[Obsolete("Use InventoryRecords instead. Will remain at least until November 2016.")]
public Inventory Inventory { get; set; }
Property Value
Type Description
Inventory

The inventory.

InventoryRecords

Gets or sets the inventory records.

Declaration
public IList<InventoryRecord> InventoryRecords { get; }
Property Value
Type Description
System.Collections.Generic.IList<InventoryRecord>

InventoryStatus

Gets or sets the flag indicating how inventory amounts are handled. Must load with Variation response group or will always report as disabled.

Declaration
public InventoryTrackingStatus InventoryStatus { get; set; }
Property Value
Type Description
InventoryTrackingStatus
Remarks

Disabled means inventory is not tracked. Ignored means that inventory amounts are tracked but do not affect whether or not an order is accepted, this status does no longer exist from version 8.7 or later. Enabled means that inventory amounts are tracked and orders that exceed current stock levels (possibly incl. backorder amounts) are blocked.

IsActive

Gets or sets a value indicating whether this instance is active.

Declaration
public bool IsActive { get; set; }
Property Value
Type Description
System.Boolean

true if this instance is active; otherwise, false.

ItemAttributes

Gets or sets the item attributes.

Declaration
public ItemAttributes ItemAttributes { get; set; }
Property Value
Type Description
ItemAttributes

The item attributes.

MetaClassId

Gets or sets the MetaClassId.

Declaration
public int MetaClassId { get; set; }
Property Value
Type Description
System.Int32

The MetaClassId.

Name

Gets or sets the name.

Declaration
public string Name { get; set; }
Property Value
Type Description
System.String

The name.

Nodes

Gets or sets the nodes.

Declaration
public CatalogNodes Nodes { get; set; }
Property Value
Type Description
CatalogNodes

The nodes.

ParentEntry

Gets or sets the parent entry.

Declaration
public Entry ParentEntry { get; set; }
Property Value
Type Description
Entry

The parent entry.

PriceValues

Gets or sets the price values.

Declaration
public PriceValues PriceValues { get; set; }
Property Value
Type Description
PriceValues

The price values.

RelationInfo

Gets or sets the relation info.

Declaration
public RelationInfo RelationInfo { get; set; }
Property Value
Type Description
RelationInfo

The relation info.

ResponseGroup

Gets the ResponseGroup, which indicates how much related data has been loaded into the Entry.

Declaration
public CatalogEntryResponseGroup.ResponseGroup ResponseGroup { get; set; }
Property Value
Type Description
CatalogEntryResponseGroup.ResponseGroup
Remarks

This flag should be used with care. It is intended as a contract that specifies what related data the Entry has loaded from the database (e.g. Associations, SEO) so that the object can be reused in different contexts.
Generally if the entry was not loaded from the database, the Entry object should be used for a specific purpose with a short lifetime where all actions on it are deliberate, and this flag should be null. Data may be set freely independently of this flag setting, and the flag will not change to reflect updates to the fields. This is intended to allow the developer the ability to distinguish between persisted and non-persisted data, so long as the flag is set properly.

SeoInfo

Gets or sets the SEO info.

Declaration
public Seo[] SeoInfo { get; set; }
Property Value
Type Description
Seo[]

The SEO info.

StartDate

Gets or sets the start date.

Declaration
public DateTime StartDate { get; set; }
Property Value
Type Description
System.DateTime

The start date.

WarehouseInventories

Gets or sets the warehouse inventories.

Declaration
[Obsolete("Use InventoryRecords instead. Will remain at least until November 2016.")]
public WarehouseInventories WarehouseInventories { get; set; }
Property Value
Type Description
WarehouseInventories

The warehouse inventories.

Extension Methods