Show / Hide Table of Contents

Class ProductRecordData

POCO (Plain Old CLR Object) class that can be used to hold data corresponding to a row from the Product table.

Inheritance
object
ProductRecordData
Inherited Members
object.ToString()
object.Equals(object)
object.Equals(object, object)
object.ReferenceEquals(object, object)
object.GetHashCode()
object.GetType()
object.MemberwiseClone()
Namespace: SuperOffice.CRM.Rows
Assembly: SoDataBase.dll
Syntax
public class 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.

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
short
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
short
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
int
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
int
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
int
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
int
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
short
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.

Extension Methods

EnumUtil.MapEnums<From, To>(From)
ProductRecordDataExtensions.ToInsertAsync(ProductRecordData, CancellationToken)
Converters.MapEnums<From, To>(From)
ObjectExtensions.AssignByReflection<T>(T, T)
ObjectExtensions.GraphCopy<T>(T)
© SuperOffice. All rights reserved.
SuperOffice |  Community |  Release Notes |  Privacy |  Site feedback |  Search Docs |  About Docs |  Contribute |  Back to top