Show / Hide Table of Contents

Class QuoteAlternativeRecordData

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

Inheritance
object
QuoteAlternativeRecordData
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 QuoteAlternativeRecordData
Remarks

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

Constructors

QuoteAlternativeRecordData()

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

Declaration
public QuoteAlternativeRecordData()
Remarks

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

Fields

Description

The tool-tip to use in the user interface (on the tab, for instance).

Declaration
public string Description
Field Value
Type Description
string
Remarks

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

DiscountAmount

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

Declaration
public double DiscountAmount
Field Value
Type Description
double
Remarks

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

DiscountPercent

The discount the sales rep specifies, in percent. Both the two ‘DiscountPercent’ and ‘DiscountAmount’ shall be filled out, but the UserValueOverride field must be set to the field the user actually changed. If this field is filled out by the user, it overrides the discount suggested by the connector. If the user has not filled any values, the system will copy the ERP discount percent value into 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
Remarks

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

ERPDiscountAmount

The discount the system calculates based on customer /amount / whatever. Can be overridden by the user in the field ‘DiscountPercent’ or ‘DiscountAmount’. Both the two ‘ERPDiscountPercent’ and ‘ERPDiscountAmount’ shall be filled out. If UserValueOverride is 'None', then the ERPDiscountAmount shall be copied into DiscountAmount and ERPDiscountPercent into DiscountPercent.

Declaration
public double ERPDiscountAmount
Field Value
Type Description
double
Remarks

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

ERPDiscountPercent

The discount the system calculates based on customer /amount / whatever. Can be overridden by the sales rep in the field ‘DiscountPercent’ or ‘DiscountAmount’. Both the two ‘ERPDiscountPercent’ and ‘ERPDiscountAmount’ shall be filled out. If UserValueOverride is 'None', then the ERPDiscountAmount shall be copied into DiscountAmount and ERPDiscountPercent into DiscountPercent. The Percentage is given in integer form, i.e. ‘12%’ is represented as ‘12’.

Declaration
public double ERPDiscountPercent
Field Value
Type Description
double
Remarks

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

ERPQuoteAlternativeKey

Key that identifies this alternative in the ERP system, if it exists there.

Declaration
public string ERPQuoteAlternativeKey
Field Value
Type Description
string
Remarks

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

EarningAmount

Earning on this alternative, as an absolute amount

Declaration
public double EarningAmount
Field Value
Type Description
double
Remarks

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

EarningPercent

The earning on this alternative, in percent of total. The Percentage is given in integer form, i.e. ‘12%’ is represented as ‘12’.

Declaration
public double EarningPercent
Field Value
Type Description
double
Remarks

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

ExtraField1

Optional information added by Quote Connector; usable in the quote document merge process

Declaration
public string ExtraField1
Field Value
Type Description
string
Remarks

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

ExtraField2

Optional information added by Quote Connector; usable in the quote document merge process

Declaration
public string ExtraField2
Field Value
Type Description
string
Remarks

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

ExtraField3

Optional information added by Quote Connector; usable in the quote document merge process

Declaration
public string ExtraField3
Field Value
Type Description
string
Remarks

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

ExtraField4

Optional information added by Quote Connector; usable in the quote document merge process

Declaration
public string ExtraField4
Field Value
Type Description
string
Remarks

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

ExtraField5

Optional information added by Quote Connector; usable in the quote document merge process

Declaration
public string ExtraField5
Field Value
Type Description
string
Remarks

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

Name

Name of Alternative. Shown in tab in user interface, intentionally kept short

Declaration
public string Name
Field Value
Type Description
string
Remarks

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

QuoteAlternativeId

Primary key

Declaration
public int QuoteAlternativeId
Field Value
Type Description
int
Remarks

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

QuoteVersionId

The version that owns this alternative (the chain is Sale 1->1 Quote 1->+ QuoteVersion 1->+ QuoteAlternative.

Declaration
public int QuoteVersionId
Field Value
Type Description
int
Remarks

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

Reason

If there was a problem, this field contains a localized explanation of the problem and possible steps to fix it that the user can be shown.

Declaration
public string Reason
Field Value
Type Description
string
Remarks

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

Status

If there was a problem with for instance calculation, this field is set to warning or error.

Declaration
public QuoteStatus Status
Field Value
Type Description
QuoteStatus
Remarks

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

TotalPrice

Sum of the QuoteLines.TotalPrice - AlternativeDiscount or QuoteLines.TotalCost + Earning based on what, if anything, the user has entered last. Shall be calculated by the connector.

Declaration
public double TotalPrice
Field Value
Type Description
double
Remarks

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

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
Remarks

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

VAT

Tax/VAT - THIS IS AN AMOUNT, available as a merge field in the quote document. The SuperOffice quote connector will calculate this field based on the vat PERCENTAGES on the individual lines; other connectors may implement other algorithms at will.

Declaration
public double VAT
Field Value
Type Description
double
Remarks

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

VATInfo

Extra info about VAT that the connector might insert. This field has no business logic in the CRM code, but is available as a merge field in the quote documents.

Declaration
public string VATInfo
Field Value
Type Description
string
Remarks

Please use this class instead of a full QuoteAlternativeRow 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 QuoteAlternativeTableInfo 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)
QuoteAlternativeRecordDataExtensions.ToInsertAsync(QuoteAlternativeRecordData, 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