Toggle menu
913
3.8K
30.2K
279.2K
Catglobe Wiki
Toggle preferences menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

GroupBuilderRule class: Difference between revisions

From Catglobe Wiki
No edit summary
No edit summary
 
Line 10: Line 10:
{{CGscriptParameters_Template|Type=GroupBuilderVariable|Name=<nowiki>variable</nowiki>|Description=<nowiki>Variable to add</nowiki>}}
{{CGscriptParameters_Template|Type=GroupBuilderVariable|Name=<nowiki>variable</nowiki>|Description=<nowiki>Variable to add</nowiki>}}
|Description=<nowiki>Add a new variable</nowiki>}}
|Description=<nowiki>Add a new variable</nowiki>}}
{{CGscriptMethods_Template|ReturnType=bool|Name=<nowiki>Remove</nowiki>|Parameters=
{{CGscriptParameters_Template|Type=GroupBuilderVariable|Name=<nowiki>variable</nowiki>|Description=<nowiki>Variable to remove</nowiki>}}
|Description=<nowiki>Remove variable. Return true if removed</nowiki>}}
{{CGscriptMethods_Template|ReturnType=Empty|Name=<nowiki>Save</nowiki>|Description=<nowiki>Save this group rule to the database</nowiki>}}
{{CGscriptMethods_Template|ReturnType=Empty|Name=<nowiki>SetPercentTarget</nowiki>|Parameters=
{{CGscriptParameters_Template|Type=int|Name=<nowiki>Target percentage</nowiki>|Description=<nowiki>Percentage target (-1 for unlimited)</nowiki>}}
|Description=<nowiki>Set a percentage target for this rule and save</nowiki>}}
{{CGscriptMethods_Template|ReturnType=Empty|Name=<nowiki>SetTarget</nowiki>|Parameters=
{{CGscriptParameters_Template|Type=int|Name=<nowiki>Target</nowiki>|Description=<nowiki>New target value (-1 for unlimited)</nowiki>}}
|Description=<nowiki>Set a new absolute target for this rule and save</nowiki>}}
{{CGscriptMethods_Template|ReturnType=Empty|Name=<nowiki>SetTargetUnlimited</nowiki>|Description=<nowiki>Set this rule's target to unlimited and save</nowiki>}}
{{CGscriptMethods_Template|ReturnType=string|Name=<nowiki>ToString</nowiki>|Description=<nowiki>The string representation of the object.</nowiki>}}
{{CGscriptMethods_Template|ReturnType=object|Name=<nowiki>this[] { get; }</nowiki>|Parameters=
{{CGscriptMethods_Template|ReturnType=object|Name=<nowiki>this[] { get; }</nowiki>|Parameters=
{{CGscriptParameters_Template|Type=int|Name=<nowiki>index</nowiki>|Description=<nowiki>Index</nowiki>}}
{{CGscriptParameters_Template|Type=int|Name=<nowiki>index</nowiki>|Description=<nowiki>Index</nowiki>}}
|Description=<nowiki>Get variable at index</nowiki>}}
|Description=<nowiki>Get variable at index</nowiki>}}
{{CGscriptMethods_Template|ReturnType=bool|Name=<nowiki>Remove</nowiki>|Parameters=
{{CGscriptMethods_Template|ReturnType=Empty|Name=<nowiki>this[] { get; }</nowiki>|Parameters=
{{CGscriptParameters_Template|Type=GroupBuilderVariable|Name=<nowiki>variable</nowiki>|Description=<nowiki>Variable to remove</nowiki>}}
|Description=<nowiki>Remove variable. Return true if removed</nowiki>}}
{{CGscriptMethods_Template|ReturnType=Empty|Name=<nowiki>this[] { set; }</nowiki>|Parameters=
{{CGscriptParameters_Template|Type=int|Name=<nowiki>index</nowiki>|Description=<nowiki>Index</nowiki>|Comma=,}}{{CGscriptParameters_Template|Type=object|Name=<nowiki>value</nowiki>|Description=<nowiki>Value to set</nowiki>}}
{{CGscriptParameters_Template|Type=int|Name=<nowiki>index</nowiki>|Description=<nowiki>Index</nowiki>|Comma=,}}{{CGscriptParameters_Template|Type=object|Name=<nowiki>value</nowiki>|Description=<nowiki>Value to set</nowiki>}}
|Description=<nowiki>Set variable at index</nowiki>}}
|Description=<nowiki>Set variable at index</nowiki>}}
{{CGscriptMethods_Template|ReturnType=string|Name=<nowiki>ToString</nowiki>|Inherited=object|Description=<nowiki>The string representation of the object.</nowiki>}}
|Properties=
|Properties=
{{CGscriptProperties_Template|ReturnType=int|Name=<nowiki>Actual</nowiki>|HasGetter=1|Description=<nowiki>How many of the final group amount was generated from this rule</nowiki>}}
{{CGscriptProperties_Template|ReturnType=int|Name=<nowiki>Actual</nowiki>|HasGetter=1|Description=<nowiki>How many of the final group amount was generated from this rule</nowiki>}}
{{CGscriptProperties_Template|ReturnType=GroupBuilderRuleCollection|Name=<nowiki>Children</nowiki>|HasGetter=1|Description=<nowiki>Child rules for this rule</nowiki>}}
{{CGscriptProperties_Template|ReturnType=GroupBuilderRuleCollection|Name=<nowiki>Children</nowiki>|HasGetter=1|Description=<nowiki>Child rules for this rule</nowiki>}}
{{CGscriptProperties_Template|ReturnType=int|Name=<nowiki>Count</nowiki>|HasGetter=1|Description=<nowiki>Number of variables at this level</nowiki>}}
{{CGscriptProperties_Template|ReturnType=int|Name=<nowiki>Count</nowiki>|HasGetter=1|Description=<nowiki>Number of variables at this level</nowiki>}}
{{CGscriptProperties_Template|ReturnType=int|Name=<nowiki>Id</nowiki>|HasGetter=1|Description=<nowiki>Primary-key id of the rule</nowiki>}}
{{CGscriptProperties_Template|ReturnType=bool|Name=<nowiki>IncludeDeleted</nowiki>|HasGetter=1|HasSetter=1|Description=<nowiki>Include deleted users or not</nowiki>}}
{{CGscriptProperties_Template|ReturnType=bool|Name=<nowiki>IncludeDeleted</nowiki>|HasGetter=1|HasSetter=1|Description=<nowiki>Include deleted users or not</nowiki>}}
{{CGscriptProperties_Template|ReturnType=bool|Name=<nowiki>IncludeDisabled</nowiki>|HasGetter=1|HasSetter=1|Description=<nowiki>Include disabled users or not</nowiki>}}
{{CGscriptProperties_Template|ReturnType=bool|Name=<nowiki>IncludeDisabled</nowiki>|HasGetter=1|HasSetter=1|Description=<nowiki>Include disabled users or not</nowiki>}}
Line 31: Line 40:
{{CGscriptProperties_Template|ReturnType=int|Name=<nowiki>Target</nowiki>|HasGetter=1|HasSetter=1|Description=<nowiki>Target amount to build for this group. -1 == all</nowiki>}}
{{CGscriptProperties_Template|ReturnType=int|Name=<nowiki>Target</nowiki>|HasGetter=1|HasSetter=1|Description=<nowiki>Target amount to build for this group. -1 == all</nowiki>}}
{{CGscriptProperties_Template|ReturnType=number|Name=<nowiki>TargetPct</nowiki>|HasGetter=1|HasSetter=1|Description=<nowiki>Target as pct of parent. -1 == use Target</nowiki>}}
{{CGscriptProperties_Template|ReturnType=number|Name=<nowiki>TargetPct</nowiki>|HasGetter=1|HasSetter=1|Description=<nowiki>Target as pct of parent. -1 == use Target</nowiki>}}
{{CGscriptProperties_Template|ReturnType=TypeInformation|Name=<nowiki>TypeInformation</nowiki>|HasGetter=1|Inherited=object|Description=<nowiki>Get information about this class.</nowiki>}}
{{CGscriptProperties_Template|ReturnType=number|Name=<nowiki>TargetPercentage</nowiki>|HasGetter=1|HasSetter=1|Description=<nowiki>Target as a percentage of the parent rule (-1 = unlimited / not set)</nowiki>}}
{{CGscriptProperties_Template|ReturnType=TypeInformation|Name=<nowiki>TypeInformation</nowiki>|HasGetter=1|Description=<nowiki>Get information about this class.</nowiki>}}
{{CGscriptProperties_Template|ReturnType=int|Name=<nowiki>UserCount</nowiki>|HasGetter=1|Description=<nowiki>Actual number of users produced by this rule after the last rebuild</nowiki>}}
|StaticMethods=
{{CGscriptMethods_Template|ReturnType=GroupBuilderRule|Name=<nowiki>GroupBuilderRule_getRuleById</nowiki>|Parameters=
{{CGscriptParameters_Template|Type=int|Name=<nowiki>Group Rule id</nowiki>|Description=<nowiki>Id of the group rule</nowiki>}}
|Description=<nowiki>Get the existing group builder rule object by using group rule id</nowiki>}}
{{CGscriptMethods_Template|ReturnType=number|Name=<nowiki>GroupBuilderRule_getUserCount</nowiki>|Parameters=
{{CGscriptParameters_Template|Type=int|Name=<nowiki>Group Rule id</nowiki>|Description=<nowiki>Id of the group rule</nowiki>}}
|Description=<nowiki>Return the actual number of users in a specified group builder rule</nowiki>}}
}}
}}



Latest revision as of 10:23, 2 June 2026

GroupBuilderRule



Represents a group builder rule.

Parent class

Inherits from object

Constructors

  • (GroupBuilderRoot root "Associate with this root collections group") - Create a new rule

Methods

  • Empty Add(GroupBuilderVariable variable "Variable to add") - Add a new variable
  • bool Remove(GroupBuilderVariable variable "Variable to remove") - Remove variable. Return true if removed
  • Empty Save() - Save this group rule to the database
  • Empty SetPercentTarget(int Target percentage "Percentage target (-1 for unlimited)") - Set a percentage target for this rule and save
  • Empty SetTarget(int Target "New target value (-1 for unlimited)") - Set a new absolute target for this rule and save
  • Empty SetTargetUnlimited() - Set this rule's target to unlimited and save
  • string ToString() - The string representation of the object.
  • object this[] { get; }(int index "Index") - Get variable at index
  • Empty this[] { get; }(int index "Index", object value "Value to set") - Set variable at index

Properties

  • int Actual { get; } - How many of the final group amount was generated from this rule
  • GroupBuilderRuleCollection Children { get; } - Child rules for this rule
  • int Count { get; } - Number of variables at this level
  • int Id { get; } - Primary-key id of the rule
  • bool IncludeDeleted { get; set; } - Include deleted users or not
  • bool IncludeDisabled { get; set; } - Include disabled users or not
  • bool IsLeaf { get; } - True if this rule as no children
  • string Name { get; set; } - Name of rule
  • string ObjectTypeName { get; } - The name of the type of object.
  • int Target { get; set; } - Target amount to build for this group. -1 == all
  • number TargetPct { get; set; } - Target as pct of parent. -1 == use Target
  • number TargetPercentage { get; set; } - Target as a percentage of the parent rule (-1 = unlimited / not set)
  • TypeInformation TypeInformation { get; } - Get information about this class.
  • int UserCount { get; } - Actual number of users produced by this rule after the last rebuild

Static Methods

  • GroupBuilderRule GroupBuilderRule_getRuleById(int Group Rule id "Id of the group rule") - Get the existing group builder rule object by using group rule id
  • number GroupBuilderRule_getUserCount(int Group Rule id "Id of the group rule") - Return the actual number of users in a specified group builder rule

Examples

Example: Add new rule

//Create a new group
string groupName = "Test Group Builder: GroupBuilderRule";
number groupTemplateResourceId=2066;
number parentResourceId = 11088827;
array group = Group_new(groupName, groupTemplateResourceId, parentResourceId);
Group_save(group);
number groupRId = group[GROUP_RESOURCE_ID ]; 
//Create rule for the group
GroupBuilderRoot root = new GroupBuilderRoot (groupRId);
GroupBuilderRule rule = new GroupBuilderRule (root);
rule.Name = "Main rule";
print(rule.Actual);
print(rule.Count);
print(rule.IsLeaf);
print(rule.Name);
rule.IncludeDeleted = true;
rule.IncludeDisabled = true;
rule.Target=100;
GroupBuilderRuleCollection ruleColection = root.RootRules;
ruleColection.Add(rule);
root.Save();


Example: Add variable for rule

GroupBuilderRoot root = new GroupBuilderRoot (15560828);
GroupBuilderRuleCollection ruleColection = root.RootRules;
GroupBuilderRule rule = ruleColection[0];
GroupBuilderOptionDataVariable variable1 = new GroupBuilderOptionDataVariable();
GroupBuilderGroupVariable variable2 = new GroupBuilderGroupVariable (true);
GroupBuilderBulkmailVariable variable3 = new GroupBuilderBulkmailVariable ();
rule.Add(variable1);
rule.Add(variable2);
rule.Add(variable3);
root.Save();


Example: remove variable

 
GroupBuilderRoot root = new GroupBuilderRoot (15560828);
GroupBuilderRuleCollection ruleColection = root.RootRules;
GroupBuilderRule rule = ruleColection[0];
GroupBuilderOptionDataVariable variable1 = rule[0];
rule.Remove(variable1);
root.Save();


Example: Add children rule

 
GroupBuilderRoot root = new GroupBuilderRoot (15560828);
GroupBuilderRuleCollection rootRules = root.RootRules;
GroupBuilderRule rootRule = rootRules[0];
GroupBuilderRuleCollection supRules = rootRule.Children;
GroupBuilderRule supRule1 = new GroupBuilderRule (root);
supRules.Add(supRule1);
GroupBuilderRule supRule2 = new GroupBuilderRule (root);
supRules.Add(supRule2);
GroupBuilderGroupVariable variable = new GroupBuilderGroupVariable (true);
for (number i=0;i<supRules.Count;i++)
{
 supRules[i].IncludeDeleted=true;
 supRules[i].IncludeDisabled = true;
 supRules[i].TargetPct=20;
 supRules[i].Name="subRule "+i;
 supRules[i].Add(variable);
 

}
root.Save();