Show / Hide Table of Contents

Interface IAggregationTwoPassPlugin

Interface implemented by aggregation plugins that need a second pass, typically "Percentage of total"

Inherited Members
IAggregationPlugin.SetModifiers(String[])
IAggregationPlugin.AddItem(ArchiveColumnData)
IAggregationPlugin.AddItem(ArchiveColumnData[])
IAggregationPlugin.GetAggregatedValue()
Namespace: SuperOffice.CRM.ArchiveLists.Aggregation
Assembly: SoDataBase.dll
Syntax
public interface IAggregationTwoPassPlugin : IAggregationPlugin, IPlugin
Remarks

As opposed to normal aggregators, where detail lines get a snapshot of the aggregated value when they are born, two-aggregators need to implement a real cloning method - otherwise they will not survive in the detail rows, where they need to do the pass-2 calculations.

Methods

Clone()

Create a clone suitable for the detail level

Declaration
IAggregationTwoPassPlugin Clone()
Returns
Type Description
IAggregationTwoPassPlugin
Remarks

As opposed to normal aggregators, where detail lines get a snapshot of the aggregated value when they are born, two-aggregators need to implement a real cloning method - otherwise they will not survive in the detail rows, where they need to do the pass-2 calculations.

SetOutsideValue(IAggregationTwoPassPlugin)

Called on the detail level, with a reference to the same column, but the instance of the aggregator that is in the nearest parent level.

Declaration
void SetOutsideValue(IAggregationTwoPassPlugin parentInstance)
Parameters
Type Name Description
IAggregationTwoPassPlugin parentInstance
Remarks

To implement a percentage of total, the normal AddItem should store its individual items. The detail level will then be able to access the sum of items, by calling (private) methods on its parent-level instance, and compute its own percentage item afterwards.

Extension Methods

EnumUtil.MapEnums<From, To>(From)
Converters.MapEnums<From, To>(From)
© SuperOffice. All rights reserved.
SuperOffice |  Community |  Release Notes |  Privacy |  Site feedback |  Search Docs |  About Docs |  Contribute |  Back to top