Show / Hide Table of Contents

Class Product

Information about a Product from the ERP system. This may be fetched from SuperOffice Product table through the SO Connector

Carrier object for Product. Services for the Product Carrier is available from the IQuoteAgent.
Inheritance
Object
Product
Namespace: SuperOffice.CRM.Services
Assembly: SuperOffice.Services.dll
Syntax
public class Product : Carrier
Examples

Get Product 123 using the agent:

 using SuperOffice;
 using SuperOffice.CRM.Services;

 using (SoSession mySession = SoSession.Authenticate("user", "pass"))
 {
    var agent = new QuoteAgent();
    var product = agent.GetProduct( 123 );
 }

Find all Product, get related items using archive agent.

var archive = new ArchiveAgent();
var rows = archive.GetArchiveListByColumns2("Product", "...", null, "getAllRows eq 1", null, 0, 100 );

Constructors

Product()

Default constructor

Declaration
public Product()
Examples

Get Product 123 using the agent:

 using SuperOffice;
 using SuperOffice.CRM.Services;

 using (SoSession mySession = SoSession.Authenticate("user", "pass"))
 {
    var agent = new QuoteAgent();
    var product = agent.GetProduct( 123 );
 }

Find all Product, get related items using archive agent.

var archive = new ArchiveAgent();
var rows = archive.GetArchiveListByColumns2("Product", "...", null, "getAllRows eq 1", null, 0, 100 );
See Also
QuoteAgent
IQuoteAgent
ArchiveAgent
GetArchiveListByColumns2(String, String, String, String, String, Int32, Int32)

Properties

Code

The product code / article number in the product supplier system.

Declaration
public virtual string Code { get; set; }
Property Value
Type Description
String
Examples

Get Product 123 using the agent:

 using SuperOffice;
 using SuperOffice.CRM.Services;

 using (SoSession mySession = SoSession.Authenticate("user", "pass"))
 {
    var agent = new QuoteAgent();
    var product = agent.GetProduct( 123 );
 }

Find all Product, get related items using archive agent.

var archive = new ArchiveAgent();
var rows = archive.GetArchiveListByColumns2("Product", "...", null, "getAllRows eq 1", null, 0, 100 );
See Also
QuoteAgent
IQuoteAgent
ArchiveAgent
GetArchiveListByColumns2(String, String, String, String, String, Int32, Int32)

DefaultSubscriptionQuantity

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

Declaration
public virtual double DefaultSubscriptionQuantity { get; set; }
Property Value
Type Description
Double
Examples

Get Product 123 using the agent:

 using SuperOffice;
 using SuperOffice.CRM.Services;

 using (SoSession mySession = SoSession.Authenticate("user", "pass"))
 {
    var agent = new QuoteAgent();
    var product = agent.GetProduct( 123 );
 }

Find all Product, get related items using archive agent.

var archive = new ArchiveAgent();
var rows = archive.GetArchiveListByColumns2("Product", "...", null, "getAllRows eq 1", null, 0, 100 );
See Also
QuoteAgent
IQuoteAgent
ArchiveAgent
GetArchiveListByColumns2(String, String, String, String, String, Int32, Int32)

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 virtual string Description { get; set; }
Property Value
Type Description
String
Examples

Get Product 123 using the agent:

 using SuperOffice;
 using SuperOffice.CRM.Services;

 using (SoSession mySession = SoSession.Authenticate("user", "pass"))
 {
    var agent = new QuoteAgent();
    var product = agent.GetProduct( 123 );
 }

Find all Product, get related items using archive agent.

var archive = new ArchiveAgent();
var rows = archive.GetArchiveListByColumns2("Product", "...", null, "getAllRows eq 1", null, 0, 100 );
See Also
QuoteAgent
IQuoteAgent
ArchiveAgent
GetArchiveListByColumns2(String, String, String, String, String, Int32, Int32)

ERPPriceListKey

Foreign key to the price list that this product is a part of, or the primary key of the pricelist if this is a built-in pricelist.

Declaration
public virtual string ERPPriceListKey { get; set; }
Property Value
Type Description
String
Examples

Get Product 123 using the agent:

 using SuperOffice;
 using SuperOffice.CRM.Services;

 using (SoSession mySession = SoSession.Authenticate("user", "pass"))
 {
    var agent = new QuoteAgent();
    var product = agent.GetProduct( 123 );
 }

Find all Product, get related items using archive agent.

var archive = new ArchiveAgent();
var rows = archive.GetArchiveListByColumns2("Product", "...", null, "getAllRows eq 1", null, 0, 100 );
See Also
QuoteAgent
IQuoteAgent
ArchiveAgent
GetArchiveListByColumns2(String, String, String, String, String, Int32, Int32)

ERPProductKey

Reference/foreign key to the product in the given pricelist in the product supplier system, if it exists there.

Declaration
public virtual string ERPProductKey { get; set; }
Property Value
Type Description
String
Examples

Get Product 123 using the agent:

 using SuperOffice;
 using SuperOffice.CRM.Services;

 using (SoSession mySession = SoSession.Authenticate("user", "pass"))
 {
    var agent = new QuoteAgent();
    var product = agent.GetProduct( 123 );
 }

Find all Product, get related items using archive agent.

var archive = new ArchiveAgent();
var rows = archive.GetArchiveListByColumns2("Product", "...", null, "getAllRows eq 1", null, 0, 100 );
See Also
QuoteAgent
IQuoteAgent
ArchiveAgent
GetArchiveListByColumns2(String, String, String, String, String, Int32, Int32)

ExtraField1

This a simple field for adding information that the Connector can provide, and that the qoute document need to display.

Declaration
public virtual string ExtraField1 { get; set; }
Property Value
Type Description
String
Examples

Get Product 123 using the agent:

 using SuperOffice;
 using SuperOffice.CRM.Services;

 using (SoSession mySession = SoSession.Authenticate("user", "pass"))
 {
    var agent = new QuoteAgent();
    var product = agent.GetProduct( 123 );
 }

Find all Product, get related items using archive agent.

var archive = new ArchiveAgent();
var rows = archive.GetArchiveListByColumns2("Product", "...", null, "getAllRows eq 1", null, 0, 100 );
See Also
QuoteAgent
IQuoteAgent
ArchiveAgent
GetArchiveListByColumns2(String, String, String, String, String, Int32, Int32)

ExtraField2

This a simple field for adding information that the Connector can provide, and that the qoute document need to display.

Declaration
public virtual string ExtraField2 { get; set; }
Property Value
Type Description
String
Examples

Get Product 123 using the agent:

 using SuperOffice;
 using SuperOffice.CRM.Services;

 using (SoSession mySession = SoSession.Authenticate("user", "pass"))
 {
    var agent = new QuoteAgent();
    var product = agent.GetProduct( 123 );
 }

Find all Product, get related items using archive agent.

var archive = new ArchiveAgent();
var rows = archive.GetArchiveListByColumns2("Product", "...", null, "getAllRows eq 1", null, 0, 100 );
See Also
QuoteAgent
IQuoteAgent
ArchiveAgent
GetArchiveListByColumns2(String, String, String, String, String, Int32, Int32)

ExtraField3

This a simple field for adding information that the Connector can provide, and that the qoute document need to display.

Declaration
public virtual string ExtraField3 { get; set; }
Property Value
Type Description
String
Examples

Get Product 123 using the agent:

 using SuperOffice;
 using SuperOffice.CRM.Services;

 using (SoSession mySession = SoSession.Authenticate("user", "pass"))
 {
    var agent = new QuoteAgent();
    var product = agent.GetProduct( 123 );
 }

Find all Product, get related items using archive agent.

var archive = new ArchiveAgent();
var rows = archive.GetArchiveListByColumns2("Product", "...", null, "getAllRows eq 1", null, 0, 100 );
See Also
QuoteAgent
IQuoteAgent
ArchiveAgent
GetArchiveListByColumns2(String, String, String, String, String, Int32, Int32)

ExtraField4

This a simple field for adding information that the Connector can provide, and that the qoute document need to display.

Declaration
public virtual string ExtraField4 { get; set; }
Property Value
Type Description
String
Examples

Get Product 123 using the agent:

 using SuperOffice;
 using SuperOffice.CRM.Services;

 using (SoSession mySession = SoSession.Authenticate("user", "pass"))
 {
    var agent = new QuoteAgent();
    var product = agent.GetProduct( 123 );
 }

Find all Product, get related items using archive agent.

var archive = new ArchiveAgent();
var rows = archive.GetArchiveListByColumns2("Product", "...", null, "getAllRows eq 1", null, 0, 100 );
See Also
QuoteAgent
IQuoteAgent
ArchiveAgent
GetArchiveListByColumns2(String, String, String, String, String, Int32, Int32)

ExtraField5

This a simple field for adding information that the Connector can provide, and that the qoute document need to display.

Declaration
public virtual string ExtraField5 { get; set; }
Property Value
Type Description
String
Examples

Get Product 123 using the agent:

 using SuperOffice;
 using SuperOffice.CRM.Services;

 using (SoSession mySession = SoSession.Authenticate("user", "pass"))
 {
    var agent = new QuoteAgent();
    var product = agent.GetProduct( 123 );
 }

Find all Product, get related items using archive agent.

var archive = new ArchiveAgent();
var rows = archive.GetArchiveListByColumns2("Product", "...", null, "getAllRows eq 1", null, 0, 100 );
See Also
QuoteAgent
IQuoteAgent
ArchiveAgent
GetArchiveListByColumns2(String, String, String, String, String, Int32, Int32)

ExtraInfo

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

Declaration
public virtual ProductExtraDataField[] ExtraInfo { get; set; }
Property Value
Type Description
ProductExtraDataField[]
Examples

Get Product 123 using the agent:

 using SuperOffice;
 using SuperOffice.CRM.Services;

 using (SoSession mySession = SoSession.Authenticate("user", "pass"))
 {
    var agent = new QuoteAgent();
    var product = agent.GetProduct( 123 );
 }

Find all Product, get related items using archive agent.

var archive = new ArchiveAgent();
var rows = archive.GetArchiveListByColumns2("Product", "...", null, "getAllRows eq 1", null, 0, 100 );
See Also
QuoteAgent
IQuoteAgent
ArchiveAgent
GetArchiveListByColumns2(String, String, String, String, String, Int32, Int32)

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 virtual bool InAssortment { get; set; }
Property Value
Type Description
Boolean
Examples

Get Product 123 using the agent:

 using SuperOffice;
 using SuperOffice.CRM.Services;

 using (SoSession mySession = SoSession.Authenticate("user", "pass"))
 {
    var agent = new QuoteAgent();
    var product = agent.GetProduct( 123 );
 }

Find all Product, get related items using archive agent.

var archive = new ArchiveAgent();
var rows = archive.GetArchiveListByColumns2("Product", "...", null, "getAllRows eq 1", null, 0, 100 );
See Also
QuoteAgent
IQuoteAgent
ArchiveAgent
GetArchiveListByColumns2(String, String, String, String, String, Int32, Int32)

InStock

Negative numbers will be interpreted as how many is ordered. Might not be available.

Declaration
public virtual double InStock { get; set; }
Property Value
Type Description
Double
Examples

Get Product 123 using the agent:

 using SuperOffice;
 using SuperOffice.CRM.Services;

 using (SoSession mySession = SoSession.Authenticate("user", "pass"))
 {
    var agent = new QuoteAgent();
    var product = agent.GetProduct( 123 );
 }

Find all Product, get related items using archive agent.

var archive = new ArchiveAgent();
var rows = archive.GetArchiveListByColumns2("Product", "...", null, "getAllRows eq 1", null, 0, 100 );
See Also
QuoteAgent
IQuoteAgent
ArchiveAgent
GetArchiveListByColumns2(String, String, String, String, String, Int32, Int32)

IsSubscription

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

Declaration
public virtual bool IsSubscription { get; set; }
Property Value
Type Description
Boolean
Examples

Get Product 123 using the agent:

 using SuperOffice;
 using SuperOffice.CRM.Services;

 using (SoSession mySession = SoSession.Authenticate("user", "pass"))
 {
    var agent = new QuoteAgent();
    var product = agent.GetProduct( 123 );
 }

Find all Product, get related items using archive agent.

var archive = new ArchiveAgent();
var rows = archive.GetArchiveListByColumns2("Product", "...", null, "getAllRows eq 1", null, 0, 100 );
See Also
QuoteAgent
IQuoteAgent
ArchiveAgent
GetArchiveListByColumns2(String, String, String, String, String, Int32, Int32)

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 virtual string ItemNumber { get; set; }
Property Value
Type Description
String
Examples

Get Product 123 using the agent:

 using SuperOffice;
 using SuperOffice.CRM.Services;

 using (SoSession mySession = SoSession.Authenticate("user", "pass"))
 {
    var agent = new QuoteAgent();
    var product = agent.GetProduct( 123 );
 }

Find all Product, get related items using archive agent.

var archive = new ArchiveAgent();
var rows = archive.GetArchiveListByColumns2("Product", "...", null, "getAllRows eq 1", null, 0, 100 );
See Also
QuoteAgent
IQuoteAgent
ArchiveAgent
GetArchiveListByColumns2(String, String, String, String, String, Int32, Int32)

Name

The name to use in the user interface.

Declaration
public virtual string Name { get; set; }
Property Value
Type Description
String
Examples

Get Product 123 using the agent:

 using SuperOffice;
 using SuperOffice.CRM.Services;

 using (SoSession mySession = SoSession.Authenticate("user", "pass"))
 {
    var agent = new QuoteAgent();
    var product = agent.GetProduct( 123 );
 }

Find all Product, get related items using archive agent.

var archive = new ArchiveAgent();
var rows = archive.GetArchiveListByColumns2("Product", "...", null, "getAllRows eq 1", null, 0, 100 );
See Also
QuoteAgent
IQuoteAgent
ArchiveAgent
GetArchiveListByColumns2(String, String, String, String, String, Int32, Int32)

PriceUnit

What is the unit (meter, ton, bushel, microsecond, gradus, τρυβλίον, 五合枡, دونم or whatever); read-only for lines that originate in defined products

Declaration
public virtual string PriceUnit { get; set; }
Property Value
Type Description
String
Examples

Get Product 123 using the agent:

 using SuperOffice;
 using SuperOffice.CRM.Services;

 using (SoSession mySession = SoSession.Authenticate("user", "pass"))
 {
    var agent = new QuoteAgent();
    var product = agent.GetProduct( 123 );
 }

Find all Product, get related items using archive agent.

var archive = new ArchiveAgent();
var rows = archive.GetArchiveListByColumns2("Product", "...", null, "getAllRows eq 1", null, 0, 100 );
See Also
QuoteAgent
IQuoteAgent
ArchiveAgent
GetArchiveListByColumns2(String, String, String, String, String, Int32, Int32)

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 virtual string ProductCategoryKey { get; set; }
Property Value
Type Description
String
Examples

Get Product 123 using the agent:

 using SuperOffice;
 using SuperOffice.CRM.Services;

 using (SoSession mySession = SoSession.Authenticate("user", "pass"))
 {
    var agent = new QuoteAgent();
    var product = agent.GetProduct( 123 );
 }

Find all Product, get related items using archive agent.

var archive = new ArchiveAgent();
var rows = archive.GetArchiveListByColumns2("Product", "...", null, "getAllRows eq 1", null, 0, 100 );
See Also
QuoteAgent
IQuoteAgent
ArchiveAgent
GetArchiveListByColumns2(String, String, String, String, String, Int32, Int32)

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 virtual string ProductFamilyKey { get; set; }
Property Value
Type Description
String
Examples

Get Product 123 using the agent:

 using SuperOffice;
 using SuperOffice.CRM.Services;

 using (SoSession mySession = SoSession.Authenticate("user", "pass"))
 {
    var agent = new QuoteAgent();
    var product = agent.GetProduct( 123 );
 }

Find all Product, get related items using archive agent.

var archive = new ArchiveAgent();
var rows = archive.GetArchiveListByColumns2("Product", "...", null, "getAllRows eq 1", null, 0, 100 );
See Also
QuoteAgent
IQuoteAgent
ArchiveAgent
GetArchiveListByColumns2(String, String, String, String, String, Int32, Int32)

ProductId

Primary key

Declaration
public virtual int ProductId { get; set; }
Property Value
Type Description
Int32
Examples

Get Product 123 using the agent:

 using SuperOffice;
 using SuperOffice.CRM.Services;

 using (SoSession mySession = SoSession.Authenticate("user", "pass"))
 {
    var agent = new QuoteAgent();
    var product = agent.GetProduct( 123 );
 }

Find all Product, get related items using archive agent.

var archive = new ArchiveAgent();
var rows = archive.GetArchiveListByColumns2("Product", "...", null, "getAllRows eq 1", null, 0, 100 );
See Also
QuoteAgent
IQuoteAgent
ArchiveAgent
GetArchiveListByColumns2(String, String, String, String, String, Int32, Int32)

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 virtual string ProductTypeKey { get; set; }
Property Value
Type Description
String
Examples

Get Product 123 using the agent:

 using SuperOffice;
 using SuperOffice.CRM.Services;

 using (SoSession mySession = SoSession.Authenticate("user", "pass"))
 {
    var agent = new QuoteAgent();
    var product = agent.GetProduct( 123 );
 }

Find all Product, get related items using archive agent.

var archive = new ArchiveAgent();
var rows = archive.GetArchiveListByColumns2("Product", "...", null, "getAllRows eq 1", null, 0, 100 );
See Also
QuoteAgent
IQuoteAgent
ArchiveAgent
GetArchiveListByColumns2(String, String, String, String, String, Int32, Int32)

QuantityUnit

What is the unit (meter, ton, bushel, microsecond, gradus, τρυβλίον, 五合枡, دونم or whatever); Connector handles conversion relative to PriceUnit if they are different

Declaration
public virtual string QuantityUnit { get; set; }
Property Value
Type Description
String
Examples

Get Product 123 using the agent:

 using SuperOffice;
 using SuperOffice.CRM.Services;

 using (SoSession mySession = SoSession.Authenticate("user", "pass"))
 {
    var agent = new QuoteAgent();
    var product = agent.GetProduct( 123 );
 }

Find all Product, get related items using archive agent.

var archive = new ArchiveAgent();
var rows = archive.GetArchiveListByColumns2("Product", "...", null, "getAllRows eq 1", null, 0, 100 );
See Also
QuoteAgent
IQuoteAgent
ArchiveAgent
GetArchiveListByColumns2(String, String, String, String, String, Int32, Int32)

RawExtraInfo

Read-only extra information in plain text, supplied by QuoteConnector, used by a future dynamic GUI extension

Declaration
public virtual string RawExtraInfo { get; set; }
Property Value
Type Description
String
Examples

Get Product 123 using the agent:

 using SuperOffice;
 using SuperOffice.CRM.Services;

 using (SoSession mySession = SoSession.Authenticate("user", "pass"))
 {
    var agent = new QuoteAgent();
    var product = agent.GetProduct( 123 );
 }

Find all Product, get related items using archive agent.

var archive = new ArchiveAgent();
var rows = archive.GetArchiveListByColumns2("Product", "...", null, "getAllRows eq 1", null, 0, 100 );
See Also
QuoteAgent
IQuoteAgent
ArchiveAgent
GetArchiveListByColumns2(String, String, String, String, String, Int32, Int32)

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 virtual string Rights { get; set; }
Property Value
Type Description
String
Examples

Get Product 123 using the agent:

 using SuperOffice;
 using SuperOffice.CRM.Services;

 using (SoSession mySession = SoSession.Authenticate("user", "pass"))
 {
    var agent = new QuoteAgent();
    var product = agent.GetProduct( 123 );
 }

Find all Product, get related items using archive agent.

var archive = new ArchiveAgent();
var rows = archive.GetArchiveListByColumns2("Product", "...", null, "getAllRows eq 1", null, 0, 100 );
See Also
QuoteAgent
IQuoteAgent
ArchiveAgent
GetArchiveListByColumns2(String, String, String, String, String, Int32, Int32)

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 virtual string Rule { get; set; }
Property Value
Type Description
String
Examples

Get Product 123 using the agent:

 using SuperOffice;
 using SuperOffice.CRM.Services;

 using (SoSession mySession = SoSession.Authenticate("user", "pass"))
 {
    var agent = new QuoteAgent();
    var product = agent.GetProduct( 123 );
 }

Find all Product, get related items using archive agent.

var archive = new ArchiveAgent();
var rows = archive.GetArchiveListByColumns2("Product", "...", null, "getAllRows eq 1", null, 0, 100 );
See Also
QuoteAgent
IQuoteAgent
ArchiveAgent
GetArchiveListByColumns2(String, String, String, String, String, Int32, Int32)

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 virtual string SubscriptionUnit { get; set; }
Property Value
Type Description
String
Examples

Get Product 123 using the agent:

 using SuperOffice;
 using SuperOffice.CRM.Services;

 using (SoSession mySession = SoSession.Authenticate("user", "pass"))
 {
    var agent = new QuoteAgent();
    var product = agent.GetProduct( 123 );
 }

Find all Product, get related items using archive agent.

var archive = new ArchiveAgent();
var rows = archive.GetArchiveListByColumns2("Product", "...", null, "getAllRows eq 1", null, 0, 100 );
See Also
QuoteAgent
IQuoteAgent
ArchiveAgent
GetArchiveListByColumns2(String, String, String, String, String, Int32, Int32)

Supplier

In SuperOffice, an id from the contact table, when saved as an ERP cache, the name of the supplier

Declaration
public virtual string Supplier { get; set; }
Property Value
Type Description
String
Examples

Get Product 123 using the agent:

 using SuperOffice;
 using SuperOffice.CRM.Services;

 using (SoSession mySession = SoSession.Authenticate("user", "pass"))
 {
    var agent = new QuoteAgent();
    var product = agent.GetProduct( 123 );
 }

Find all Product, get related items using archive agent.

var archive = new ArchiveAgent();
var rows = archive.GetArchiveListByColumns2("Product", "...", null, "getAllRows eq 1", null, 0, 100 );
See Also
QuoteAgent
IQuoteAgent
ArchiveAgent
GetArchiveListByColumns2(String, String, String, String, String, Int32, Int32)

SupplierCode

Suppliers part code/number or other key-like field

Declaration
public virtual string SupplierCode { get; set; }
Property Value
Type Description
String
Examples

Get Product 123 using the agent:

 using SuperOffice;
 using SuperOffice.CRM.Services;

 using (SoSession mySession = SoSession.Authenticate("user", "pass"))
 {
    var agent = new QuoteAgent();
    var product = agent.GetProduct( 123 );
 }

Find all Product, get related items using archive agent.

var archive = new ArchiveAgent();
var rows = archive.GetArchiveListByColumns2("Product", "...", null, "getAllRows eq 1", null, 0, 100 );
See Also
QuoteAgent
IQuoteAgent
ArchiveAgent
GetArchiveListByColumns2(String, String, String, String, String, Int32, Int32)

UnitCost

The cost price. Might not be given, use Decimal.MinValue to signal this.

Declaration
public virtual double UnitCost { get; set; }
Property Value
Type Description
Double
Examples

Get Product 123 using the agent:

 using SuperOffice;
 using SuperOffice.CRM.Services;

 using (SoSession mySession = SoSession.Authenticate("user", "pass"))
 {
    var agent = new QuoteAgent();
    var product = agent.GetProduct( 123 );
 }

Find all Product, get related items using archive agent.

var archive = new ArchiveAgent();
var rows = archive.GetArchiveListByColumns2("Product", "...", null, "getAllRows eq 1", null, 0, 100 );
See Also
QuoteAgent
IQuoteAgent
ArchiveAgent
GetArchiveListByColumns2(String, String, String, String, String, Int32, Int32)

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 virtual double UnitListPrice { get; set; }
Property Value
Type Description
Double
Examples

Get Product 123 using the agent:

 using SuperOffice;
 using SuperOffice.CRM.Services;

 using (SoSession mySession = SoSession.Authenticate("user", "pass"))
 {
    var agent = new QuoteAgent();
    var product = agent.GetProduct( 123 );
 }

Find all Product, get related items using archive agent.

var archive = new ArchiveAgent();
var rows = archive.GetArchiveListByColumns2("Product", "...", null, "getAllRows eq 1", null, 0, 100 );
See Also
QuoteAgent
IQuoteAgent
ArchiveAgent
GetArchiveListByColumns2(String, String, String, String, String, Int32, Int32)

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 virtual double UnitMinimumPrice { get; set; }
Property Value
Type Description
Double
Examples

Get Product 123 using the agent:

 using SuperOffice;
 using SuperOffice.CRM.Services;

 using (SoSession mySession = SoSession.Authenticate("user", "pass"))
 {
    var agent = new QuoteAgent();
    var product = agent.GetProduct( 123 );
 }

Find all Product, get related items using archive agent.

var archive = new ArchiveAgent();
var rows = archive.GetArchiveListByColumns2("Product", "...", null, "getAllRows eq 1", null, 0, 100 );
See Also
QuoteAgent
IQuoteAgent
ArchiveAgent
GetArchiveListByColumns2(String, String, String, String, String, Int32, Int32)

Url

URL to product information web page.

Declaration
public virtual string Url { get; set; }
Property Value
Type Description
String
Examples

Get Product 123 using the agent:

 using SuperOffice;
 using SuperOffice.CRM.Services;

 using (SoSession mySession = SoSession.Authenticate("user", "pass"))
 {
    var agent = new QuoteAgent();
    var product = agent.GetProduct( 123 );
 }

Find all Product, get related items using archive agent.

var archive = new ArchiveAgent();
var rows = archive.GetArchiveListByColumns2("Product", "...", null, "getAllRows eq 1", null, 0, 100 );
See Also
QuoteAgent
IQuoteAgent
ArchiveAgent
GetArchiveListByColumns2(String, String, String, String, String, Int32, Int32)

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 virtual double VAT { get; set; }
Property Value
Type Description
Double
Examples

Get Product 123 using the agent:

 using SuperOffice;
 using SuperOffice.CRM.Services;

 using (SoSession mySession = SoSession.Authenticate("user", "pass"))
 {
    var agent = new QuoteAgent();
    var product = agent.GetProduct( 123 );
 }

Find all Product, get related items using archive agent.

var archive = new ArchiveAgent();
var rows = archive.GetArchiveListByColumns2("Product", "...", null, "getAllRows eq 1", null, 0, 100 );
See Also
QuoteAgent
IQuoteAgent
ArchiveAgent
GetArchiveListByColumns2(String, String, String, String, String, Int32, Int32)

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 virtual string VATInfo { get; set; }
Property Value
Type Description
String
Examples

Get Product 123 using the agent:

 using SuperOffice;
 using SuperOffice.CRM.Services;

 using (SoSession mySession = SoSession.Authenticate("user", "pass"))
 {
    var agent = new QuoteAgent();
    var product = agent.GetProduct( 123 );
 }

Find all Product, get related items using archive agent.

var archive = new ArchiveAgent();
var rows = archive.GetArchiveListByColumns2("Product", "...", null, "getAllRows eq 1", null, 0, 100 );
See Also
QuoteAgent
IQuoteAgent
ArchiveAgent
GetArchiveListByColumns2(String, String, String, String, String, Int32, Int32)

Methods

ToString()

Returns the carrier contents as a formatted string.

Declaration
public override string ToString()
Returns
Type Description
String

The carrier contents.

Examples

Get Product 123 using the agent:

 using SuperOffice;
 using SuperOffice.CRM.Services;

 using (SoSession mySession = SoSession.Authenticate("user", "pass"))
 {
    var agent = new QuoteAgent();
    var product = agent.GetProduct( 123 );
 }

Find all Product, get related items using archive agent.

var archive = new ArchiveAgent();
var rows = archive.GetArchiveListByColumns2("Product", "...", null, "getAllRows eq 1", null, 0, 100 );
See Also
QuoteAgent
IQuoteAgent
ArchiveAgent
GetArchiveListByColumns2(String, String, String, String, String, Int32, Int32)

ToString(String)

Returns the carrier contents as a formatted string, useful for debugging. Each line in the output is prefixed with the input value.

Declaration
public string ToString(string prefix)
Parameters
Type Name Description
String prefix

The line prefix (typically used for indenting)

Returns
Type Description
String

The carrier contents.

Examples

Get Product 123 using the agent:

 using SuperOffice;
 using SuperOffice.CRM.Services;

 using (SoSession mySession = SoSession.Authenticate("user", "pass"))
 {
    var agent = new QuoteAgent();
    var product = agent.GetProduct( 123 );
 }

Find all Product, get related items using archive agent.

var archive = new ArchiveAgent();
var rows = archive.GetArchiveListByColumns2("Product", "...", null, "getAllRows eq 1", null, 0, 100 );
See Also
QuoteAgent
IQuoteAgent
ArchiveAgent
GetArchiveListByColumns2(String, String, String, String, String, Int32, Int32)

See Also

QuoteAgent
IQuoteAgent
ArchiveAgent
GetArchiveListByColumns2(String, String, String, String, String, Int32, Int32)
© SuperOffice. All rights reserved.
SuperOffice |  Community |  Release Notes |  Privacy |  Site feedback |  Search Docs |  About Docs |  Contribute |  Back to top