Skip to content

Administration - Smart Quote / Product / Rules / Facts

Customer Facts

Customer facts can be used in the rules, often in situations where pricing is defined by customer, pricing tier, etc.

  • CustomerFact
  • CustomerAttributeFact

Example - CustomerFact

when
    var config = Configurator();
    // first line is AND(ed) with the second (both must be true)
    var cust = CustomerFact(x => x.Name == "CUST1" );

// if all lines in when block are true...then block is executed
then
    config.LogInformation("Info...");

Example - CustomerAttributeFact

when
    var config = Configurator();
    // first line is AND(ed) with the second (both must be true)
    var cust = CustomerAttributeFact(x => x.Name == "ATTR1" && x.Value == "VALUE" );

// if all lines in when block are true...then block is executed
then
    config.LogInformation("Info...");

Product Facts/Attributes

Types

  • Text : Attribute_TXT
  • Integer : Attribute_INT
  • Double : Attribute_DOUBLE
  • Dimension : Attribute_DIM
  • Area : Attribute_AREA
  • Volume : Attribute_AREA
  • Weight : Attribute_WEIGHT

Text

Example - Attribute_TXT

when
    var config = Configurator();
    // first line is AND(ed) with the second (both must be true)
    var attr = Attribute_TXT(x => x.NameIs("ATTR1") && x.ValueIs("") );

// if all lines in when block are true...then block is executed
then
    config.LogInformation("Info...");

Integer

Example - Attribute_INT

when
    var config = Configurator();
    // first line is AND(ed) with the second (both must be true)
    var attr = Attribute_INT(x => x.NameIs("ATTR1") && x.Int() == 5 );

// if all lines in when block are true...then block is executed
then
    config.LogInformation("Info...");

Double

Example - Attribute_DOUBLE

when
    var config = Configurator();
    // first line is AND(ed) with the second (both must be true)
    var attr = Attribute_DOUBLE(x => x.NameIs("ATTR1") && x.Value() == 5.0m );

// if all lines in when block are true...then block is executed
then
    config.LogInformation("Info...");

Dimension

Example - Attribute_DIM

The units of the attribute are defined in the Setp (ADMIN) area. Can be: IN, FT, MM, M.

when
    var config = Configurator();
    // first line is AND(ed) with the second (both must be true)
    var attr = Attribute_DIM(x => x.NameIs("ATTR1") && x.Value() == 5.0m );

// if all lines in when block are true...then block is executed
then
    config.LogInformation("Info...");

Area

Example - Attribute_AREA

The units of the attribute are defined in the Setp (ADMIN) area. Can be: IN^2, FT^2, MM^2, M^2.

when
    var config = Configurator();
    // first line is AND(ed) with the second (both must be true)
    var attr = Attribute_AREA(x => x.NameIs("ATTR1") && x.Value() == 5.0m );

// if all lines in when block are true...then block is executed
then
    config.LogInformation("Info...");

Volume

Example - Attribute_VOL

The units of the attribute are defined in the Setp (ADMIN) area. Can be: IN^3, FT^3, MM^3, M^3.

when
    var config = Configurator();
    // first line is AND(ed) with the second (both must be true)
    var attr = Attribute_VOL(x => x.NameIs("ATTR1") && x.Value() == 5.0m );

// if all lines in when block are true...then block is executed
then
    config.LogInformation("Info...");

Weight

Example - Attribute_WEIGHT

The units of the attribute are defined in the Setp (ADMIN) area. Can be: LB, KG, G.

when
    var config = Configurator();
    // first line is AND(ed) with the second (both must be true)
    var attr = Attribute_WEIGHT(x => x.NameIs("ATTR1") && x.Value() == 5.0m );

// if all lines in when block are true...then block is executed
then
    config.LogInformation("Info...");