Class ProductRecordData
POCO (Plain Old CLR Object) class that can be used to hold data corresponding to a row from the Product table.
Namespace: SuperOffice.CRM.Rows
Assembly: SoDataBase.dll
Syntax
public class ProductRecordData : Object
Remarks
Please use this class instead of a full ProductRow object when you do not need to create or update a value in the database. Row objects have a large overhead since they carry the corresponding ProductTableInfo object, which in turn defines fields and aliases; there may be a Sentry on a row, and various other helper objects.
Constructors
ProductRecordData()
POCO (Plain Old CLR Object) class that can be used to hold data corresponding to a row from the Product table.
Declaration
public ProductRecordData()
Remarks
Please use this class instead of a full ProductRow object when you do not need to create or update a value in the database. Row objects have a large overhead since they carry the corresponding ProductTableInfo object, which in turn defines fields and aliases; there may be a Sentry on a row, and various other helper objects.
Fields
Code
The product code / article number in the product supplier system.
Declaration
public string Code
Field Value
Type | Description |
---|---|
String |
Remarks
Please use this class instead of a full ProductRow object when you do not need to create or update a value in the database. Row objects have a large overhead since they carry the corresponding ProductTableInfo object, which in turn defines fields and aliases; there may be a Sentry on a row, and various other helper objects.
DefaultSubscriptionQuantity
The default number of SubscriptionUnits to suggest when creating quote lines from this product
Declaration
public double DefaultSubscriptionQuantity
Field Value
Type | Description |
---|---|
Double |
Remarks
Please use this class instead of a full ProductRow object when you do not need to create or update a value in the database. Row objects have a large overhead since they carry the corresponding ProductTableInfo object, which in turn defines fields and aliases; there may be a Sentry on a row, and various other helper objects.
Description
The description to use, with potentially several lines. Will be used as tool-tip to use in the list user interface too.
Declaration
public string Description
Field Value
Type | Description |
---|---|
String |
Remarks
Please use this class instead of a full ProductRow object when you do not need to create or update a value in the database. Row objects have a large overhead since they carry the corresponding ProductTableInfo object, which in turn defines fields and aliases; there may be a Sentry on a row, and various other helper objects.
ERPProductKey
Reference/foreign key to the product in the given pricelist in the product supplier system, if it exists there.
Declaration
public string ERPProductKey
Field Value
Type | Description |
---|---|
String |
Remarks
Please use this class instead of a full ProductRow object when you do not need to create or update a value in the database. Row objects have a large overhead since they carry the corresponding ProductTableInfo object, which in turn defines fields and aliases; there may be a Sentry on a row, and various other helper objects.
ExtraField1
This a simple field for adding information that the Connector can provide, and that the qoute document need to display.
Declaration
public string ExtraField1
Field Value
Type | Description |
---|---|
String |
Remarks
Please use this class instead of a full ProductRow object when you do not need to create or update a value in the database. Row objects have a large overhead since they carry the corresponding ProductTableInfo object, which in turn defines fields and aliases; there may be a Sentry on a row, and various other helper objects.
ExtraField2
This a simple field for adding information that the Connector can provide, and that the qoute document need to display.
Declaration
public string ExtraField2
Field Value
Type | Description |
---|---|
String |
Remarks
Please use this class instead of a full ProductRow object when you do not need to create or update a value in the database. Row objects have a large overhead since they carry the corresponding ProductTableInfo object, which in turn defines fields and aliases; there may be a Sentry on a row, and various other helper objects.
ExtraField3
This a simple field for adding information that the Connector can provide, and that the qoute document need to display.
Declaration
public string ExtraField3
Field Value
Type | Description |
---|---|
String |
Remarks
Please use this class instead of a full ProductRow object when you do not need to create or update a value in the database. Row objects have a large overhead since they carry the corresponding ProductTableInfo object, which in turn defines fields and aliases; there may be a Sentry on a row, and various other helper objects.
ExtraField4
This a simple field for adding information that the Connector can provide, and that the qoute document need to display.
Declaration
public string ExtraField4
Field Value
Type | Description |
---|---|
String |
Remarks
Please use this class instead of a full ProductRow object when you do not need to create or update a value in the database. Row objects have a large overhead since they carry the corresponding ProductTableInfo object, which in turn defines fields and aliases; there may be a Sentry on a row, and various other helper objects.
ExtraField5
This a simple field for adding information that the Connector can provide, and that the qoute document need to display.
Declaration
public string ExtraField5
Field Value
Type | Description |
---|---|
String |
Remarks
Please use this class instead of a full ProductRow object when you do not need to create or update a value in the database. Row objects have a large overhead since they carry the corresponding ProductTableInfo object, which in turn defines fields and aliases; there may be a Sentry on a row, and various other helper objects.
ExtraInfo
Extra data (fields with labels). Shall be shown in the quoteline dialog. Additional info that the ERP system would like to store and show in the user interface. Information placed here is shown in the GUI if the “provide-extra-data” capability is true. Different products can have different fields. It will not be possible to directly put info here into the quote document.
Declaration
public string ExtraInfo
Field Value
Type | Description |
---|---|
String |
Remarks
Please use this class instead of a full ProductRow object when you do not need to create or update a value in the database. Row objects have a large overhead since they carry the corresponding ProductTableInfo object, which in turn defines fields and aliases; there may be a Sentry on a row, and various other helper objects.
InAssortment
True for products that should currently be offered, false when the product is discontinued and should not ordinarily be offered. When false the product no longer appears in search results.
Declaration
public short InAssortment
Field Value
Type | Description |
---|---|
Int16 |
Remarks
Please use this class instead of a full ProductRow object when you do not need to create or update a value in the database. Row objects have a large overhead since they carry the corresponding ProductTableInfo object, which in turn defines fields and aliases; there may be a Sentry on a row, and various other helper objects.
IsSubscription
Is this a subscription product, sold in repeating intervals/amounts?
Declaration
public short IsSubscription
Field Value
Type | Description |
---|---|
Int16 |
Remarks
Please use this class instead of a full ProductRow object when you do not need to create or update a value in the database. Row objects have a large overhead since they carry the corresponding ProductTableInfo object, which in turn defines fields and aliases; there may be a Sentry on a row, and various other helper objects.
ItemNumber
Line item number, NOR: «Postnummer». Specific numbers from some hierarchy, for instance “1.4.3.2P”. Typically used to sort the items in the quote by some standard way.
Declaration
public string ItemNumber
Field Value
Type | Description |
---|---|
String |
Remarks
Please use this class instead of a full ProductRow object when you do not need to create or update a value in the database. Row objects have a large overhead since they carry the corresponding ProductTableInfo object, which in turn defines fields and aliases; there may be a Sentry on a row, and various other helper objects.
Name
The name to use in the user interface.
Declaration
public string Name
Field Value
Type | Description |
---|---|
String |
Remarks
Please use this class instead of a full ProductRow object when you do not need to create or update a value in the database. Row objects have a large overhead since they carry the corresponding ProductTableInfo object, which in turn defines fields and aliases; there may be a Sentry on a row, and various other helper objects.
PriceListId
Foreign key to the price list that this product is a part of.
Declaration
public int PriceListId
Field Value
Type | Description |
---|---|
Int32 |
Remarks
Please use this class instead of a full ProductRow object when you do not need to create or update a value in the database. Row objects have a large overhead since they carry the corresponding ProductTableInfo object, which in turn defines fields and aliases; there may be a Sentry on a row, and various other helper objects.
PriceUnit
What is the unit (meter, ton, bushel, microsecond, gradus, τρυβλίον, 五合枡, دونم or whatever); read-only for lines that originate in defined products
Declaration
public string PriceUnit
Field Value
Type | Description |
---|---|
String |
Remarks
Please use this class instead of a full ProductRow object when you do not need to create or update a value in the database. Row objects have a large overhead since they carry the corresponding ProductTableInfo object, which in turn defines fields and aliases; there may be a Sentry on a row, and various other helper objects.
ProductCategoryKey
Either a List id to an id from a connector provided list, or, if the connection doesn’t support lists, a text with the actual product category.
Declaration
public string ProductCategoryKey
Field Value
Type | Description |
---|---|
String |
Remarks
Please use this class instead of a full ProductRow object when you do not need to create or update a value in the database. Row objects have a large overhead since they carry the corresponding ProductTableInfo object, which in turn defines fields and aliases; there may be a Sentry on a row, and various other helper objects.
ProductFamilyKey
Either a List id to an id from a connector provided list, or, if the connection doesn't support lists, a text with the actual product family.
Declaration
public string ProductFamilyKey
Field Value
Type | Description |
---|---|
String |
Remarks
Please use this class instead of a full ProductRow object when you do not need to create or update a value in the database. Row objects have a large overhead since they carry the corresponding ProductTableInfo object, which in turn defines fields and aliases; there may be a Sentry on a row, and various other helper objects.
ProductId
Primary key
Declaration
public int ProductId
Field Value
Type | Description |
---|---|
Int32 |
Remarks
Please use this class instead of a full ProductRow object when you do not need to create or update a value in the database. Row objects have a large overhead since they carry the corresponding ProductTableInfo object, which in turn defines fields and aliases; there may be a Sentry on a row, and various other helper objects.
ProductTypeKey
Either a List id to an id from a connector provided list, or, if the connection doesn’t support lists, a text with the actual product type.
Declaration
public string ProductTypeKey
Field Value
Type | Description |
---|---|
String |
Remarks
Please use this class instead of a full ProductRow object when you do not need to create or update a value in the database. Row objects have a large overhead since they carry the corresponding ProductTableInfo object, which in turn defines fields and aliases; there may be a Sentry on a row, and various other helper objects.
QuantityUnit
What is the unit (meter, ton, bushel, microsecond, gradus, τρυβλίον, 五合枡, دونم or whatever); Connector handles conversion relative to PriceUnit if they are different
Declaration
public string QuantityUnit
Field Value
Type | Description |
---|---|
String |
Remarks
Please use this class instead of a full ProductRow object when you do not need to create or update a value in the database. Row objects have a large overhead since they carry the corresponding ProductTableInfo object, which in turn defines fields and aliases; there may be a Sentry on a row, and various other helper objects.
Registered
Registered when in UTC.
Declaration
public DateTime Registered
Field Value
Type | Description |
---|---|
DateTime |
Remarks
Please use this class instead of a full ProductRow object when you do not need to create or update a value in the database. Row objects have a large overhead since they carry the corresponding ProductTableInfo object, which in turn defines fields and aliases; there may be a Sentry on a row, and various other helper objects.
RegisteredAssociateId
Registered by whom
Declaration
public int RegisteredAssociateId
Field Value
Type | Description |
---|---|
Int32 |
Remarks
Please use this class instead of a full ProductRow object when you do not need to create or update a value in the database. Row objects have a large overhead since they carry the corresponding ProductTableInfo object, which in turn defines fields and aliases; there may be a Sentry on a row, and various other helper objects.
Rights
Field1=right&Field2=right, etc. of any fields that have non-standard field access rights. Rights can be one of: N (=None or Hidden), R (=Read-only), W (=Writeable), M (=Mandatory). The fields will mostly be from the Quoteline table, but some added fields that are conceptually part of the quoteline, like Image will also be possibly to set rights on. Will be used by SuperOffice to control the user interface when showing the record.
Declaration
public string Rights
Field Value
Type | Description |
---|---|
String |
Remarks
Please use this class instead of a full ProductRow object when you do not need to create or update a value in the database. Row objects have a large overhead since they carry the corresponding ProductTableInfo object, which in turn defines fields and aliases; there may be a Sentry on a row, and various other helper objects.
Rule
The names of one or more calculation rules that are in effect for this line, comma-separated case-insensitive. Will NOT be used by SuperOffice.
Declaration
public string Rule
Field Value
Type | Description |
---|---|
String |
Remarks
Please use this class instead of a full ProductRow object when you do not need to create or update a value in the database. Row objects have a large overhead since they carry the corresponding ProductTableInfo object, which in turn defines fields and aliases; there may be a Sentry on a row, and various other helper objects.
SubscriptionUnit
Either a List id to an id from a connector provided list, or, if the connection doesn’t support lists, a text with the actual subscription unit.
Declaration
public string SubscriptionUnit
Field Value
Type | Description |
---|---|
String |
Remarks
Please use this class instead of a full ProductRow object when you do not need to create or update a value in the database. Row objects have a large overhead since they carry the corresponding ProductTableInfo object, which in turn defines fields and aliases; there may be a Sentry on a row, and various other helper objects.
Supplier
In SuperOffice, an id from the contact table, when saved as an ERP cache, the name of the supplier
Declaration
public string Supplier
Field Value
Type | Description |
---|---|
String |
Remarks
Please use this class instead of a full ProductRow object when you do not need to create or update a value in the database. Row objects have a large overhead since they carry the corresponding ProductTableInfo object, which in turn defines fields and aliases; there may be a Sentry on a row, and various other helper objects.
SupplierCode
Suppliers part code/number or other key-like field
Declaration
public string SupplierCode
Field Value
Type | Description |
---|---|
String |
Remarks
Please use this class instead of a full ProductRow object when you do not need to create or update a value in the database. Row objects have a large overhead since they carry the corresponding ProductTableInfo object, which in turn defines fields and aliases; there may be a Sentry on a row, and various other helper objects.
UnitCost
The cost price. Might not be given, use Decimal.MinValue to signal this.
Declaration
public double UnitCost
Field Value
Type | Description |
---|---|
Double |
Remarks
Please use this class instead of a full ProductRow object when you do not need to create or update a value in the database. Row objects have a large overhead since they carry the corresponding ProductTableInfo object, which in turn defines fields and aliases; there may be a Sentry on a row, and various other helper objects.
UnitListPrice
(Basic Price, normal price, standard price.) This is the basic price from which the discount is computed from. The ListPrice will stay the same even when a larger amount is ordered.
Declaration
public double UnitListPrice
Field Value
Type | Description |
---|---|
Double |
Remarks
Please use this class instead of a full ProductRow object when you do not need to create or update a value in the database. Row objects have a large overhead since they carry the corresponding ProductTableInfo object, which in turn defines fields and aliases; there may be a Sentry on a row, and various other helper objects.
UnitMinimumPrice
The minimum price this salesman can offer to his customer. This might be cost price if there is no policy. Might not be given, use Decimal.MinValue to signal this.
Declaration
public double UnitMinimumPrice
Field Value
Type | Description |
---|---|
Double |
Remarks
Please use this class instead of a full ProductRow object when you do not need to create or update a value in the database. Row objects have a large overhead since they carry the corresponding ProductTableInfo object, which in turn defines fields and aliases; there may be a Sentry on a row, and various other helper objects.
Updated
Last updated when in UTC.
Declaration
public DateTime Updated
Field Value
Type | Description |
---|---|
DateTime |
Remarks
Please use this class instead of a full ProductRow object when you do not need to create or update a value in the database. Row objects have a large overhead since they carry the corresponding ProductTableInfo object, which in turn defines fields and aliases; there may be a Sentry on a row, and various other helper objects.
UpdatedAssociateId
Last updated by whom
Declaration
public int UpdatedAssociateId
Field Value
Type | Description |
---|---|
Int32 |
Remarks
Please use this class instead of a full ProductRow object when you do not need to create or update a value in the database. Row objects have a large overhead since they carry the corresponding ProductTableInfo object, which in turn defines fields and aliases; there may be a Sentry on a row, and various other helper objects.
UpdatedCount
Number of updates made to this record
Declaration
public short UpdatedCount
Field Value
Type | Description |
---|---|
Int16 |
Remarks
Please use this class instead of a full ProductRow object when you do not need to create or update a value in the database. Row objects have a large overhead since they carry the corresponding ProductTableInfo object, which in turn defines fields and aliases; there may be a Sentry on a row, and various other helper objects.
Url
URL to product information web page.
Declaration
public string Url
Field Value
Type | Description |
---|---|
String |
Remarks
Please use this class instead of a full ProductRow object when you do not need to create or update a value in the database. Row objects have a large overhead since they carry the corresponding ProductTableInfo object, which in turn defines fields and aliases; there may be a Sentry on a row, and various other helper objects.
VAT
Tax/VAT if available from ERP system. THIS IS A PERCENTAGE. In the Superoffice product register, this field is available in the product admin GUI.
Declaration
public double VAT
Field Value
Type | Description |
---|---|
Double |
Remarks
Please use this class instead of a full ProductRow object when you do not need to create or update a value in the database. Row objects have a large overhead since they carry the corresponding ProductTableInfo object, which in turn defines fields and aliases; there may be a Sentry on a row, and various other helper objects.
VATInfo
A field for putting VATInfo you need to show in the final quoteDocument, like the VAT type that is used. Not used in any business logic in SuperOffice; available to document templates.
Declaration
public string VATInfo
Field Value
Type | Description |
---|---|
String |
Remarks
Please use this class instead of a full ProductRow object when you do not need to create or update a value in the database. Row objects have a large overhead since they carry the corresponding ProductTableInfo object, which in turn defines fields and aliases; there may be a Sentry on a row, and various other helper objects.