Show / Hide Table of Contents

Class CollectorFunction

Abstract base class for collector functions, providing access to collector state, statistics, result attributes, custom results, and retro payrun scheduling.

Inheritance
object
Function
PayrollFunction
PayrunFunction
CollectorFunction
CollectorApplyFunction
CollectorEndFunction
CollectorStartFunction
Implements
IDisposable
Inherited Members
PayrunFunction.GetCycleWageTypeValue(decimal)
PayrunFunction.GetCycleWageTypeValue(string)
PayrunFunction.GetRetroWageTypeValueSumByNumber(decimal)
PayrunFunction.GetRetroWageTypeValueSumByName(string)
PayrunFunction.GetCycleCollectorValue(string)
PayrunFunction.GetRuntimeValue(string)
PayrunFunction.SetRuntimeValue(string, object)
PayrunFunction.RemoveRuntimeValue(string)
PayrunFunction.GetPayrunResultValue(string)
PayrunFunction.SetPayrunResultValue(string, object, string)
PayrunFunction.GetPayrunJobAttribute(string)
PayrunFunction.GetPayrunJobAttribute<T>(string, T)
PayrunFunction.SetPayrunJobAttribute(string, object)
PayrunFunction.RemovePayrunJobAttribute(string)
PayrunFunction.HasPayrunRuntimeValue(string)
PayrunFunction.GetPayrunRuntimeValue(string)
PayrunFunction.GetPayrunRuntimeValue<T>(string)
PayrunFunction.SetPayrunRuntimeValue(string, string)
PayrunFunction.SetPayrunRuntimeValue<T>(string, T)
PayrunFunction.HasEmployeeRuntimeValue(string)
PayrunFunction.GetEmployeeRuntimeValue(string)
PayrunFunction.GetEmployeeRuntimeValue<T>(string)
PayrunFunction.SetEmployeeRuntimeValue(string, string)
PayrunFunction.SetEmployeeRuntimeValue<T>(string, T)
PayrunFunction.GetPayrunResult(string)
PayrunFunction.GetPayrunResult<T>(string, T)
PayrunFunction.SetPayrunResult(string, object, ValueType?, string, IEnumerable<string>, Dictionary<string, object>, string)
PayrunFunction.SetPayrunResult(string, object, DateTime, DateTime, ValueType?, string, IEnumerable<string>, Dictionary<string, object>, string)
PayrunFunction.GetWageTypeNumber(string)
PayrunFunction.GetWageTypeName(decimal)
PayrunFunction.GetWageTypeCycleResults(WageTypeCycleResultQuery)
PayrunFunction.GetPeriodWageTypeResults(WageTypePeriodResultQuery)
PayrunFunction.GetWageTypeResults(WageTypeRangeResultQuery)
PayrunFunction.GetWageTypeResults(IEnumerable<decimal>, DateTime, DateTime, string, PayrunJobStatus?, IEnumerable<string>)
PayrunFunction.GetConsolidatedWageTypeResults(WageTypeConsolidatedResultQuery)
PayrunFunction.GetWageTypeCustomResults(WageTypeRangeResultQuery)
PayrunFunction.GetConsolidatedWageTypeCustomResults(WageTypeConsolidatedResultQuery)
PayrunFunction.GetWageTypeRetroResults(WageTypeResultQuery)
PayrunFunction.GetWageTypeRetroResultSum(decimal)
PayrunFunction.GetRetroWageTypeValueSum(decimal)
PayrunFunction.GetRetroWageTypeValueSum(string)
PayrunFunction.GetCollectorCycleResults(CollectorCycleResultQuery)
PayrunFunction.GetCollectorPeriodResults(CollectorPeriodResultQuery)
PayrunFunction.GetCollectorResults(CollectorRangeResultQuery)
PayrunFunction.GetCollectorResults(IEnumerable<string>, DateTime, DateTime, string, PayrunJobStatus?, IEnumerable<string>)
PayrunFunction.GetConsolidatedCollectorResults(CollectorConsolidatedResultQuery)
PayrunFunction.GetConsolidatedCollectorCustomResults(CollectorConsolidatedResultQuery)
PayrunFunction.PayrunId
PayrunFunction.PayrunName
PayrunFunction.PreviewJob
PayrunFunction.ExecutionPhase
PayrunFunction.RetroPeriod
PayrunFunction.IsRetroPayrun
PayrunFunction.IsCycleRetroPayrun
PayrunFunction.Forecast
PayrunFunction.IsForecast
PayrunFunction.CycleName
PayrunFunction.PeriodName
PayrollFunction.StringType
PayrollFunction.IntType
PayrollFunction.NumericType
PayrollFunction.DecimalType
PayrollFunction.DateType
PayrollFunction.TimeSpanType
PayrollFunction.BooleanType
PayrollFunction.HasFieldValue(string)
PayrollFunction.GetFieldValue(string)
PayrollFunction.HasLookupValue(string, ActionValue, string)
PayrollFunction.HasLookupValue(string, ActionValue, ActionValue, string)
PayrollFunction.GetLookupValue(string, ActionValue, string)
PayrollFunction.GetLookupValue(string, ActionValue, ActionValue, string)
PayrollFunction.ApplyRangeLookupValue(string, decimal, string)
PayrollFunction.Min(params ActionValue[])
PayrollFunction.Min(ActionValue, ActionValue)
PayrollFunction.Max(params ActionValue[])
PayrollFunction.Max(ActionValue, ActionValue)
PayrollFunction.Within(ActionValue, ActionValue, ActionValue)
PayrollFunction.Range(ActionValue, ActionValue, ActionValue)
PayrollFunction.Concat(params ActionValue[])
PayrollFunction.Contains(ActionValue, params ActionValue[])
PayrollFunction.GetTimeSpan(ActionValue, ActionValue)
PayrollFunction.SameYear(ActionValue, ActionValue)
PayrollFunction.SameMonth(ActionValue, ActionValue)
PayrollFunction.SameDay(ActionValue, ActionValue)
PayrollFunction.YearDiff(ActionValue, ActionValue)
PayrollFunction.Age(ActionValue, ActionValue)
PayrollFunction.IsNull(ActionValue)
PayrollFunction.IsNotNull(ActionValue)
PayrollFunction.IfNull(ActionValue, ActionValue)
PayrollFunction.IIf(bool, ActionValue, ActionValue)
PayrollFunction.SetNamespace(string, string)
PayrollFunction.Log(string, LogLevel)
PayrollFunction.GetCalendarPeriod(DateTime?, int)
PayrollFunction.GetCalendarDayCount(string)
PayrollFunction.GetEmployeeAttribute(string)
PayrollFunction.GetEmployeeAttribute<T>(string, T)
PayrollFunction.GetCycle(int)
PayrollFunction.GetCycle(DateTime, int)
PayrollFunction.GetPeriods(int, int)
PayrollFunction.GetCyclePeriods()
PayrollFunction.GetPastCyclePeriods(bool)
PayrollFunction.GetFutureCyclePeriods(bool)
PayrollFunction.IsFirstCycleDay(DateTime)
PayrollFunction.IsLastCycleDay(DateTime)
PayrollFunction.PastPeriod()
PayrollFunction.FuturePeriod()
PayrollFunction.GetPeriod(int)
PayrollFunction.GetPeriod(DateTime, int)
PayrollFunction.GetPeriodOffset(DateTime)
PayrollFunction.IsFirstPeriodDay(DateTime)
PayrollFunction.IsLastPeriodDay(DateTime)
PayrollFunction.GetCaseValueType(string)
PayrollFunction.HasCaseFieldAttribute(string, string)
PayrollFunction.GetCaseFieldAttribute(string, string)
PayrollFunction.GetCaseFieldAttribute<T>(string, string, T)
PayrollFunction.HasCaseValueAttribute(string, string)
PayrollFunction.GetCaseValueAttribute(string, string)
PayrollFunction.GetCaseValueAttribute<T>(string, string, T)
PayrollFunction.TestAvailableCaseValues(IEnumerable<string>)
PayrollFunction.TestAvailableCaseValues(DatePeriod, IEnumerable<string>)
PayrollFunction.GetFirstAvailableCaseValue(IEnumerable<string>)
PayrollFunction.GetFirstAvailableCaseValue(DatePeriod, IEnumerable<string>)
PayrollFunction.GetFirstUnavailableCaseValue(IEnumerable<string>)
PayrollFunction.GetFirstUnavailableCaseValue(DatePeriod, IEnumerable<string>)
PayrollFunction.CaseFieldSlot(string, string)
PayrollFunction.GetPeriodCaseValue<T>(DatePeriod, string, string)
PayrollFunction.GetPeriodCaseValue(DatePeriod, string, string)
PayrollFunction.GetPeriodCaseValues(DatePeriod, params string[])
PayrollFunction.GetPeriodCaseValues(int, params string[])
PayrollFunction.GetPeriodCaseValue<T>(int, string, string)
PayrollFunction.GetPeriodCaseValue(int, string, string)
PayrollFunction.GetCaseValue<T>(string, string)
PayrollFunction.GetCaseValue(string, string)
PayrollFunction.GetPeriodCaseValue(int, int, string, string)
PayrollFunction.GetMultiPeriodCaseValues(int, int, params string[])
PayrollFunction.GetRawCaseValue(string, DateTime)
PayrollFunction.GetRawCaseValues(IList<string>, DateTime)
PayrollFunction.GetRawCaseValue<T>(string, DateTime)
PayrollFunction.GetPeriodRawCaseValues(string, DatePeriod)
PayrollFunction.GetPeriodRawCaseValues(string)
PayrollFunction.GetPeriodRawCaseValues(string, int)
PayrollFunction.GetRawCaseValues(string, DateTime?, DateTime?)
PayrollFunction.GetCaseObjectValues<T>(bool, bool)
PayrollFunction.GetCaseObject<T>(List<CasePayrollValue>, DateTime)
PayrollFunction.GetRawCaseObject<T>(DateTime, bool)
PayrollFunction.GetPeriodRawCaseObjects<T>(List<DateTime>, bool)
PayrollFunction.GetCaseValues(params string[])
PayrollFunction.GetCaseValueTags(string)
PayrollFunction.GetCaseValueTags(string, DateTime)
PayrollFunction.GetCaseValueSlots(string)
PayrollFunction.GetSlotValues(string)
PayrollFunction.GetSlotValues<T>(string)
PayrollFunction.GetSlotByValue(string, string, string)
PayrollFunction.HasLookup(string)
PayrollFunction.GetLookup<T>(string, string, string)
PayrollFunction.GetLookup<T>(string, object[], string)
PayrollFunction.GetObjectLookup<T>(string, string, string, string)
PayrollFunction.GetLookupRanges(string, decimal?)
PayrollFunction.GetLookupThresholdRange(string, decimal)
PayrollFunction.GetLookupProgressiveRanges(string, decimal)
PayrollFunction.GetRangeLookup<T>(string, decimal, string, string)
PayrollFunction.GetRangeObjectLookup<T>(string, decimal, string, string, string)
PayrollFunction.ApplyRangeValue(string, decimal, string)
PayrollFunction.GetAttributeIssue(string, params object[])
PayrollFunction.None
PayrollFunction.Null
PayrollFunction.PayrollId
PayrollFunction.Namespace
PayrollFunction.HasNamespace
PayrollFunction.DivisionId
PayrollFunction.PayrollCulture
PayrollFunction.EmployeeId
PayrollFunction.EmployeeIdentifier
PayrollFunction.CycleStart
PayrollFunction.CycleStartYear
PayrollFunction.CycleStartMonth
PayrollFunction.CycleStartDay
PayrollFunction.CycleEnd
PayrollFunction.CycleEndYear
PayrollFunction.CycleEndMonth
PayrollFunction.CycleEndDay
PayrollFunction.CycleDuration
PayrollFunction.Cycle
PayrollFunction.CycleDays
PayrollFunction.PreviousCycle
PayrollFunction.NextCycle
PayrollFunction.EvaluationDate
PayrollFunction.EvaluationPeriod
PayrollFunction.Periods
PayrollFunction.PeriodStart
PayrollFunction.PeriodStartYear
PayrollFunction.PeriodStartMonth
PayrollFunction.PeriodStartDay
PayrollFunction.PeriodEnd
PayrollFunction.PeriodEndYear
PayrollFunction.PeriodEndMonth
PayrollFunction.PeriodEndDay
PayrollFunction.PeriodDuration
PayrollFunction.Period
PayrollFunction.PeriodDays
PayrollFunction.PreviousPeriod
PayrollFunction.NextPeriod
PayrollFunction.FirstCyclePeriod
PayrollFunction.LastCyclePeriod
PayrollFunction.CycleStartOffset
PayrollFunction.CycleEndOffset
PayrollFunction.PastCyclePeriods
PayrollFunction.FutureCyclePeriods
PayrollFunction.PeriodsInCycle
PayrollFunction.CaseValue
PayrollFunction.CaseValueTags
Function.GetTenantAttribute(string)
Function.GetTenantAttribute<T>(string, T)
Function.GetUserAttribute(string)
Function.GetUserAttribute<T>(string, T)
Function.GetDerivedCulture(int, int)
Function.GetDerivedCalendar(int, int)
Function.GetCalendarDayCount(DateTime, DateTime, string)
Function.GetCalendarDayCount(string, DateTime, DateTime, string)
Function.IsCalendarWorkDay(string, DateTime?)
Function.IsCalendarWorkDay(DateTime?)
Function.GetPreviousWorkDay(string, DateTime?)
Function.GetPreviousWorkDays(string, DateTime?, int)
Function.GetNextWorkDay(string, DateTime?)
Function.GetNextWorkDays(string, DateTime?, int)
Function.GetCalendarPeriod(DateTime?, int, int, int)
Function.GetCalendarPeriod(string, DateTime?, int, string)
Function.LogVerbose(string, string, string)
Function.LogDebug(string, string, string)
Function.LogInformation(string, string, string)
Function.LogWarning(string, string, string)
Function.LogError(string, string, string)
Function.LogError(Exception, string, string)
Function.LogFatal(string, string, string)
Function.LogFatal(Exception, string, string)
Function.Log(LogLevel, string, string, string)
Function.AddTask(string, string, DateTime, string, Dictionary<string, object>)
Function.InvokeWebhook<T>(string, object)
Function.GetSourceFileName(string)
Function.ChangeValueType<T>(object, T, IFormatProvider)
Function.Dispose()
Function.Runtime
Function.TenantId
Function.TenantIdentifier
Function.UserId
Function.UserIdentifier
Function.UserCulture
Function.UserType
Function.SelfServiceUser
Function.AdminUser
Function.SourceFileName
object.GetType()
object.MemberwiseClone()
object.ToString()
object.Equals(object)
object.Equals(object, object)
object.ReferenceEquals(object, object)
object.GetHashCode()
Namespace: PayrollEngine.Client.Scripting.Function
Assembly: PayrollEngine.Client.Scripting.dll
Syntax
public abstract class CollectorFunction : PayrunFunction, IDisposable
Remarks

This class extends PayrunFunction with collector-specific facilities. It is the common ancestor of CollectorStartFunction, CollectorApplyFunction, and CollectorEndFunction.

Collector state:

  • CollectorName — identifies the collector.
  • CollectorResult — the current committed result value.
  • CollectorSummary, CollectorCount, CollectorMinimum, CollectorMaximum, CollectorAverage — running statistics over all applied values.
  • CollectorThreshold, CollectorMinResult, CollectorMaxResult — configured limits from the regulation definition.
  • CollectMode — controls how values are accumulated (sum, replace, etc.).
  • Negated — when true, the collected value is negated before accumulation.

Cross-collector access: the Collector indexer reads the current value of another collector by name.

Result attributes: ResultAttribute / ResultAttributePayrollValue store metadata on the collector result for consumption by reports.

AddCustomResult(string, decimal, IEnumerable<string>, Dictionary<string, object>, ValueType?, string) and ScheduleRetroPayrun(DateTime, IEnumerable<string>) work identically to their counterparts in WageTypeFunction.

Constructors

View Source

CollectorFunction(object)

Initializes a new instance with the function runtime

Declaration
protected CollectorFunction(object runtime)
Parameters
Type Name Description
object runtime

The runtime

View Source

CollectorFunction(string)

New function instance without runtime (scripting development)

Declaration
protected CollectorFunction(string sourceFileName)
Parameters
Type Name Description
string sourceFileName

The name of the source file

Properties

View Source

CollectMode

The collect mode

Declaration
[ActionProperty("Collect mode", null)]
public string CollectMode { get; }
Property Value
Type Description
string
View Source

Collector

Get a collector value by collector name

Declaration
public ScriptDictionary<string, decimal> Collector { get; }
Property Value
Type Description
ScriptDictionary<string, decimal>
View Source

CollectorAverage

The average of the collected value

Declaration
[ActionProperty("Average of collected values", null)]
public decimal CollectorAverage { get; }
Property Value
Type Description
decimal
View Source

CollectorCount

Collected values count

Declaration
[ActionProperty("Collected values count", null)]
public decimal CollectorCount { get; }
Property Value
Type Description
decimal
View Source

CollectorGroups

The collector groups

Declaration
public string[] CollectorGroups { get; }
Property Value
Type Description
string[]
View Source

CollectorMaxResult

The maximum allowed value

Declaration
[ActionProperty("Maximum allowed collector result", null)]
public decimal? CollectorMaxResult { get; }
Property Value
Type Description
decimal?
View Source

CollectorMaximum

The maximum collected value

Declaration
[ActionProperty("Maximum collected value", null)]
public decimal CollectorMaximum { get; }
Property Value
Type Description
decimal
View Source

CollectorMinResult

The minimum allowed value

Declaration
[ActionProperty("Minimum allowed collector result", null)]
public decimal? CollectorMinResult { get; }
Property Value
Type Description
decimal?
View Source

CollectorMinimum

The minimum collected value

Declaration
[ActionProperty("Minimum collected value", null)]
public decimal CollectorMinimum { get; }
Property Value
Type Description
decimal
View Source

CollectorName

The collector name

Declaration
[ActionProperty("Collector name", null)]
public string CollectorName { get; }
Property Value
Type Description
string
View Source

CollectorResult

The current collector result

Declaration
[ActionProperty("Collector result value", null)]
public decimal CollectorResult { get; }
Property Value
Type Description
decimal
View Source

CollectorSummary

The summary of the collected value

Declaration
[ActionProperty("Summary of collected values", null)]
public decimal CollectorSummary { get; }
Property Value
Type Description
decimal
View Source

CollectorThreshold

The threshold value

Declaration
[ActionProperty("Threshold value", null)]
public decimal? CollectorThreshold { get; }
Property Value
Type Description
decimal?
View Source

Negated

Negated collector result

Declaration
[ActionProperty("Test for negated collector", null)]
public bool Negated { get; }
Property Value
Type Description
bool
View Source

ResultAttribute

Get or set a wage type result attribute value

Declaration
public ScriptDictionary<string, object> ResultAttribute { get; }
Property Value
Type Description
ScriptDictionary<string, object>
View Source

ResultAttributePayrollValue

Get or set a wage type result attribute PayrollValue

Declaration
public ScriptDictionary<string, PayrollValue> ResultAttributePayrollValue { get; }
Property Value
Type Description
ScriptDictionary<string, PayrollValue>

Methods

View Source

AddCustomResult(string, decimal, IEnumerable<string>, Dictionary<string, object>, ValueType?, string)

Adds a custom collector result, using the current period

Declaration
public void AddCustomResult(string source, decimal value, IEnumerable<string> tags = null, Dictionary<string, object> attributes = null, ValueType? valueType = null, string culture = null)
Parameters
Type Name Description
string source

The value source

decimal value

The period value

IEnumerable<string> tags

The result tags

Dictionary<string, object> attributes

The collector custom result attributes

ValueType? valueType

The result value type (numeric), default is the collector value type

string culture

The result culture

View Source

AddCustomResult(string, decimal, DateTime, DateTime, IEnumerable<string>, Dictionary<string, object>, ValueType?, string)

Adds a custom collector result

Declaration
public void AddCustomResult(string source, decimal value, DateTime startDate, DateTime endDate, IEnumerable<string> tags = null, Dictionary<string, object> attributes = null, ValueType? valueType = null, string culture = null)
Parameters
Type Name Description
string source

The value source

decimal value

The period value

DateTime startDate

The start date

DateTime endDate

The end date

IEnumerable<string> tags

The result tags

Dictionary<string, object> attributes

The collector custom result attributes

ValueType? valueType

The result value type (numeric), default is the collector value type

string culture

The result culture

View Source

GetCollectorAttribute(string)

Get attribute value

Declaration
public object GetCollectorAttribute(string attributeName)
Parameters
Type Name Description
string attributeName

The attribute name

Returns
Type Description
object
View Source

GetCollectorAttribute<T>(string, T)

Get attribute typed value

Declaration
public T GetCollectorAttribute<T>(string attributeName, T defaultValue = default)
Parameters
Type Name Description
string attributeName
T defaultValue
Returns
Type Description
T
Type Parameters
Name Description
T
View Source

GetCollectorCurrentConsolidatedValue(CollectorConsolidatedResultQuery)

Returns the sum of historical consolidated and current-period collector values for all collectors in the query

Declaration
public decimal GetCollectorCurrentConsolidatedValue(CollectorConsolidatedResultQuery query)
Parameters
Type Name Description
CollectorConsolidatedResultQuery query

The result query

Returns
Type Description
decimal

Total of consolidated historical results plus the current in-memory collector values

View Source

GetCollectorValue(string)

Get collector runtime result

Declaration
public decimal GetCollectorValue(string collectorName)
Parameters
Type Name Description
string collectorName
Returns
Type Description
decimal
View Source

GetResultAttribute(string)

Get collector result attribute value

Declaration
public object GetResultAttribute(string attributeName)
Parameters
Type Name Description
string attributeName
Returns
Type Description
object
View Source

GetResultTags()

Get the collector result tags

Declaration
public List<string> GetResultTags()
Returns
Type Description
List<string>

The collector result tags

View Source

Reset()

Resets the collector to his initial state

Declaration
public void Reset()
View Source

ScheduleRetroPayrun(DateTime, IEnumerable<string>)

Schedule a retro payrun

Declaration
public void ScheduleRetroPayrun(DateTime scheduleDate, IEnumerable<string> resultTags = null)
Parameters
Type Name Description
DateTime scheduleDate

The payrun schedule date, must be before the current period

IEnumerable<string> resultTags

The result tags

View Source

SetResultAttribute(string, object)

Set collector result attribute value

Declaration
public void SetResultAttribute(string attributeName, object value)
Parameters
Type Name Description
string attributeName
object value
View Source

SetResultTags(IEnumerable<string>)

Set the collector result tags

Declaration
public void SetResultTags(IEnumerable<string> tags)
Parameters
Type Name Description
IEnumerable<string> tags

The result tags

Implements

IDisposable

Extension Methods

ConsoleExtensions.WriteProperties(object, bool)
ValueTypeExtensions.GetValueType(object)
ObjectInfo.GetPropertyValue(object, string)
ObjectInfo.GetPropertyValue<T>(object, string, T)
ObjectInfo.ResolvePropertyValue(object, string)
ObjectInfo.SetPropertyValue(object, string, object)
  • View Source
☀
☾
Back to top Generated by DocFX