---
title: clsGroupAssociationCollection
summary: API reference for clsGroupAssociationCollection.
status: draft
owner: Technical Writer
last_reviewed: 2026-07-31
library: SAIF.Business.Policy.Group
reference_type: package
---

# clsGroupAssociationCollection

Retrieves the full group catalog and exposes in-memory filter helpers for type, expiration, and sales-plan selection.

## Purpose
- Retrieves the full group catalog and exposes in-memory filter helpers for type, expiration, and sales-plan selection.

## Context
- Namespace: `SAIF.Business.Policy.Group`
- Assembly/package: `SAIF.Business.Policy.Group`

## Public members
| Member | Signature | Purpose |
| --- | --- | --- |
| CurrentItem | `Public Shadows ReadOnly Property CurrentItem() As clsGroupAssociation` | Returns the collection's current group association for callers using BOF cursor-style traversal.* |
| GroupType | `Public Function GroupType(ByVal inGroupType As clsGroupAssociation.GroupTypes) As IEnumerable(Of clsGroupAssociation)` | Returns only the groups whose typed classification matches the requested group type ([BR-003](../../../../../business-rules.md#br-003-group-type-derives-from-stored-code)). |
| NotExpired | `Public Function NotExpired(ByVal inAsOfDate As Date) As IEnumerable(Of clsGroupAssociation)` | Filters groups to rows that are not expired as of the supplied date ([BR-002](../../../../../business-rules.md#br-002-group-expiration-is-date-effective)). |
| Save | `Public Overrides Function Save() As Boolean` | Persists pending child inserts, updates, and deletes for this collection through the BOF save pipeline.* |
| Add | `Public Shadows Function Add(ByVal inGroupAssociation As clsGroupAssociation) As Integer` | Adds the supplied group association to the in-memory collection so a later save can persist it.* |
| Contains | `Public Overloads Function Contains(ByVal inGroupAssociation As clsGroupAssociation) As Boolean` | Checks whether the active collection already contains an item matching the supplied group association.* |
| Contains | `Public Overloads Function Contains(ByVal inCode As String) As Boolean` | Checks whether the active collection already contains an item matching the supplied code.* |
| ContainsDeleted | `Public Overloads Function ContainsDeleted(ByVal inGroupAssociation As clsGroupAssociation) As Boolean` | Checks whether the deleted-items buffer already contains an item matching the supplied group association.* |
| ContainsDeleted | `Public Overloads Function ContainsDeleted(ByVal inCode As String) As Boolean` | Checks whether the deleted-items buffer already contains an item matching the supplied code.* |
| Remove | `Public Sub Remove(ByVal inGroupAssociation As clsGroupAssociation)` | Removes or marks the specified item for deletion from the collection.* |
| Remove | `Public Sub Remove(ByVal inCode As String)` | Removes or marks the specified item for deletion from the collection.* |
| Where | `Public Function Where(ByVal match As Predicate(Of clsGroupAssociation)) As clsGroupAssociationCollection` | Returns a filtered view of the collection using the callers predicate.* |
| GetGroupAssociations | `Public Shared Function GetGroupAssociations(ByVal inDataportal As IDataPortalInfo) As clsGroupAssociationCollection` | Loads the full catalog of group-association rows for later in-memory filtering.* |

## Inherited public members

| Member | Signature | Purpose | Origin |
| --- | --- | --- | --- |
| First | `Sub First()` | Moves inherited collection traversal to the first item.† | `SAIF.Framework.Core — clsBusinessCollectionBase` |
| Last | `Sub Last()` | Moves inherited collection traversal to the last item.† | `SAIF.Framework.Core — clsBusinessCollectionBase` |
| Next | `Sub Next()` | Moves inherited collection traversal to the next item.† | `SAIF.Framework.Core — clsBusinessCollectionBase` |
| Previous | `Sub Previous()` | Moves inherited collection traversal to the previous item.† | `SAIF.Framework.Core — clsBusinessCollectionBase` |
| SetCurrent | `Sub SetCurrent(item As Object)` | Changes the inherited current-item cursor for traversal.† | `SAIF.Framework.Core — clsBusinessCollectionBase` |
| Traverse | `Sub Traverse(...)` | Executes inherited collection traversal across the BOF list.† | `SAIF.Framework.Core — clsBusinessCollectionBase` |
| Error | `ReadOnly Property Error As String` | Surfaces inherited aggregate broken-rule text for the collection.† | `SAIF.Framework.Core — clsBusinessCollectionBase` |
| Item | `ReadOnly Property Item(columnName As String) As String` | Surfaces inherited per-member broken-rule text for the collection.† | `SAIF.Framework.Core — clsBusinessCollectionBase` |

## Behavioral notes
- This type follows the BOF business-object or collection lifecycle exposed by its public surface.*

## Constraints and usage notes
- Most create, retrieve, and save flows rely on BOF criteria and data-portal behavior inherited from the framework base layer.†

> **Note:** Statements marked with * were inferred from code structure, naming conventions, or
> contextual evidence where direct confirmation was not available in source artifacts. Statements
> marked with ** could not be confirmed; treat as unknown until verified.
> Statements marked with `†` were retrieved from dependency library documentation via the Legends CLI RAG service.

## Sources
- `Business\\SAIF.Business.Policy.Group\\clsGroupAssociationCollection.vb`
