Show / Hide Table of Contents

Class QuoteLineRecordData

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

Inheritance
object
QuoteLineRecordData
Inherited Members
object.ToString()
object.Equals(object)
object.Equals(object, object)
object.ReferenceEquals(object, object)
object.GetHashCode()
object.GetType()
object.MemberwiseClone()
Namespace: SuperOfficeCRMRows
Assembly: SoDataBase.dll
Syntax
public class QuoteLineRecordData
Remarks

Please use this class instead of a full QuoteLineRow 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 QuoteLineTableInfo object, which in turn defines fields and aliases; there may be a Sentry on a row, and various other helper objects.

Constructors

QuoteLineRecordData()

Declaration
public QuoteLineRecordData()

Fields

Code

A value the salesmen use to quickly find the correct product. Is stored here if the user changes the value from the product in the pricelist, or just enters a QuoteLine without a product link.

Declaration
public string Code
Field Value
Type Description
string

DeliveredQuantity

How many units have been delivered - updated by ERP system.

Declaration
public double DeliveredQuantity
Field Value
Type Description
double

Description

A longer description for the product. Is stored here if the user changes the value from the product in the pricelist, or just enters a QuoteLine without a product link.

Declaration
public string Description
Field Value
Type Description
string

DiscountAmount

The discount for the line, in whatever currency the sale is in. Both ‘DiscountPercent’ and ‘DiscountAmount’ shall be filled out, but the UserValueOverride field must be set to the field the user actually changed last. If this field is filled out by the user, it overrides any discount suggested by the connector. If the user has not filled this in, the system will copy the ERP discount amount to this field.

Declaration
public double DiscountAmount
Field Value
Type Description
double

DiscountPercent

The discount for the line, in percent. Both ‘DiscountPercent’ and ‘DiscountAmount’ shall be filled out, but the UserValueOverride field must be set to the field the user actually changed last. If this field is filled out by the user, it overrides any discount suggested by the connector. If the user has not filled this in, the system will copy the ERP discount amount to this field. The Percentage is given in integer form, i.e. ‘12%’ is represented as ‘12’.

Declaration
public double DiscountPercent
Field Value
Type Description
double

ERPDiscountAmount

The discount the system calculates based on customer / quantity / whatever. Can be overrided by the salesman in the field 'DiscountPercent' or 'DiscountAmount'. If UserValueOverride is set to ‘None’ then the value is copied to DiscountAmount. Both fields ERPDiscountPercent and ERPDiscountAmount will be filled out.

Declaration
public double ERPDiscountAmount
Field Value
Type Description
double

ERPDiscountPercent

The discount the system calculates based on customer / quantity / whatever. Can be overrided by the salesman in the field 'DiscountPercent' or 'DiscountAmount'. Both fields ERPDiscountPercent and ERPDiscountAmount will be filled out. If UserValueOverride is set to ‘None’ then the value is copied to DiscountPercent. The Percentage is given in integer form, i.e. ‘12%’ is represented as ‘12’.

Declaration
public double ERPDiscountPercent
Field Value
Type Description
double

ERPProductKey

Foreign key of product+pricelist this line is based on. Can be blank since the QuoteLine doesn’t have to be connected to a product.

Declaration
public string ERPProductKey
Field Value
Type Description
string

ERPQuoteLineKey

The foreign key to the quoteline in ERP system (if it has such a representation).

Declaration
public string ERPQuoteLineKey
Field Value
Type Description
string

EarningAmount

The earning, in whatever currency the sale is in. Both ‘EarningAmount and ‘EarningPercent shall be filled out, but the UserValueOverride field must be set to the field the user actually changed last.

Declaration
public double EarningAmount
Field Value
Type Description
double

EarningPercent

The earning, in percent. Both ‘EarningAmount and ‘EarningPercent shall be filled out, but the UserValueOverride field must be set to the field the user actually changed last. The Percentage is given in integer form, i.e. ‘12%’ is represented as ‘12’.

Declaration
public double EarningPercent
Field Value
Type Description
double

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

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

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

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

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

ExtraInfo

Extra information, supplied by QuoteConnector, used by a future dynamic GUI extension

Declaration
public string ExtraInfo
Field Value
Type Description
string

IsSubscription

Is this a subscription product, sold in repeating intervals/amounts?

Declaration
public short IsSubscription
Field Value
Type Description
short

ItemNumber

Norwegian: «Postnummer». Specific numbers from some hierarchy, for instance '1.4.3.2'. Is stored here if the user changes the value from the product in the pricelist, or just enters a QuoteLine without a product link.

Declaration
public string ItemNumber
Field Value
Type Description
string

Name

The name of the product. Is stored here if the user changes the value from the product in the pricelist, or just enters a QuoteLine without a product link.

Declaration
public string Name
Field Value
Type Description
string

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

ProductCategoryKey

Either a List id to an id from a connector provided list, or, if the connection doesn't support lists, a text. Is stored here if the user changes the value from the product in the pricelist, or just enters a QuoteLine without a product link.

Declaration
public string ProductCategoryKey
Field Value
Type Description
string

ProductFamilyKey

Either a List id to an id from a connector provided list, or, if the connection doesn't support lists, a text. Is stored here if the user changes the value from the product in the pricelist, or just enters a QuoteLine without a product link.

Declaration
public string ProductFamilyKey
Field Value
Type Description
string

ProductTypeKey

Either a List id to an id from a connector provided list, or, if the connection doesn't support lists, a text. Is stored here if the user changes the value from the product in the pricelist, or just enters a QuoteLine without a product link.

Declaration
public string ProductTypeKey
Field Value
Type Description
string

Quantity

How many units; this is a decimal field since you might want to offer fractional units (2.5kg, or 0.5PC).

Declaration
public double Quantity
Field Value
Type Description
double

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

QuoteAlternativeId

The alternative this line is part of, the conceptual Parent in CRM database.

Declaration
public int QuoteAlternativeId
Field Value
Type Description
int

QuoteLineId

Primary key

Declaration
public int QuoteLineId
Field Value
Type Description
int

Rank

QuoteLines can be re-ordered, so we must track the ordering.

Declaration
public int Rank
Field Value
Type Description
int

Reason

If QuoteStatus is not OK, then this field contains a localized explanation that the user can be shown.

Declaration
public string Reason
Field Value
Type Description
string

Registered

Registered when in UTC.

Declaration
public DateTime Registered
Field Value
Type Description
DateTime

RegisteredAssociateId

Registered by whom

Declaration
public int RegisteredAssociateId
Field Value
Type Description
int

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

Rule

The names of one or more calculation rules that are in effect for this line, comma-separated case-insensitive

Declaration
public string Rule
Field Value
Type Description
string

Status

If there was a problem with for instance calculation, this field is set to warning or error. Typically shown as an icon. QuoteStatus is an enum with statuses: OK, OKWithInfo, Warning, Error.

Declaration
public QuoteStatus Status
Field Value
Type Description
QuoteStatus

SubscriptionQuantity

The default number of SubscriptionUnits to suggest when creating quote lines from this product

Declaration
public double SubscriptionQuantity
Field Value
Type Description
double

SubscriptionStart

Start date for subscription, as offered

Declaration
public DateTime SubscriptionStart
Field Value
Type Description
DateTime

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

Supplier

The name of the supplier. Is stored here if the user changes the value from the product in the pricelist, or just enters a QuoteLine without a product link.

Declaration
public string Supplier
Field Value
Type Description
string

SupplierCode

The suppliers' code or part number for this product. Is stored here if the user changes the value from the product in the pricelist, or just enters a QuoteLine without a product link.

Declaration
public string SupplierCode
Field Value
Type Description
string

TotalPrice

TotalPrice = SubTotal - DiscountAmount or TotalPrice = (UnitCost * Quantity) + EarningAmount, according to what the user changed last.

Declaration
public double TotalPrice
Field Value
Type Description
double

UnitCost

The cost price per unit for this product. May be filled in by connector if it has the Provide-Cost capability.

Declaration
public double UnitCost
Field Value
Type Description
double

UnitListPrice

The standard list price; as given by ERP Connector, OR overridden by user

Declaration
public double UnitListPrice
Field Value
Type Description
double

UnitMinimumPrice

The minimum price this line can be sold for (to limit discounting). Will come from the connector. List price per unit must exceed the minimum price per unit.

Declaration
public double UnitMinimumPrice
Field Value
Type Description
double

Updated

Last updated when in UTC.

Declaration
public DateTime Updated
Field Value
Type Description
DateTime

UpdatedAssociateId

Last updated by whom

Declaration
public int UpdatedAssociateId
Field Value
Type Description
int

UpdatedCount

Number of updates made to this record

Declaration
public short UpdatedCount
Field Value
Type Description
short

Url

A url to the product info. Can be empty. Is stored here if the user changes the value from the product in the pricelist, or just enters a QuoteLine without a product link.

Declaration
public string Url
Field Value
Type Description
string

UserValueOverride

Has the pre-calculated (from ERP) price information been overridden, and how. If the user has filled out the discountpercentage field, then the UserValueOverride field is set to OverridePercent. (The DiscountAmount, EarningPercent, EarningAmount and TotalPrice fields are calculated based on the DiscountPercent.)

Declaration
public ValueOverride UserValueOverride
Field Value
Type Description
ValueOverride

VAT

Tax/VAT - THIS IS A PERCENTAGE. The connector is responsible for populating this field; the percentage will be used to calculate VAT amounts available as merge fields in the document templates (but amounts are never stored in the database).

Declaration
public double VAT
Field Value
Type Description
double

VATInfo

Tax/VAT information, Extra info about VAT that the connector might insert, and the users might want to specify on the quote. The core CRM product has no business logic for this field, it is wholly up to connectors to use it.

Declaration
public string VATInfo
Field Value
Type Description
string

Extension Methods

EnumUtil.MapEnums<From, To>(From)
QuoteLineRecordDataExtensions.ToInsertAsync(QuoteLineRecordData, 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