---
title: clsAppInfoCollection
summary: API reference for clsAppInfoCollection.
status: draft
owner: SAIF Doc Gen
last_reviewed: 2026-07-24
library: SAIF.Application.LogView
reference_type: package
---

# clsAppInfoCollection

`clsAppInfoCollection` retrieves and materializes filtered `App_Info` result sets while also exposing the total matching row count.

## Purpose
- Retrieve filtered application info rows.
- Expose collection add, lookup, containment, save, and removal helpers.
- Return the total row count paired with the current result page.

## Context
- Namespace: `SAIF.Application.LogView`
- Assembly/package: `SAIF.Application.LogView`

## Public members
| Member | Signature | Purpose |
| --- | --- | --- |
| `Item` | `Default Public ReadOnly Property Item(ByVal Index As Integer) As clsAppInfo` | Returns the collection item at the specified index. |
| `ItemBySeqNum` | `Public ReadOnly Property ItemBySeqNum(ByVal inAppInfoSeqNum As Integer) As clsAppInfo` | Returns the first collection item whose `AppInfoSeqNum` matches the supplied value. |
| `MyCriteria` | `Public ReadOnly Property MyCriteria() As Criteria` | Returns the attached `clsAppInfoCollection.Criteria` instance. |
| `TotalCount` | `Public ReadOnly Property TotalCount() As Integer` | Returns the scalar count retrieved alongside the current result page. |
| `IsValid` | `Public Overrides ReadOnly Property IsValid() As Boolean` | Returns the BOF validity result for this collection. |
| `IsSavable` | `Public ReadOnly Property IsSavable() As Boolean` | Returns the collection savable-state result. |
| `Save` | `Public Overrides Function Save() As Boolean` | Applies edits and delegates to the BOF save path. |
| `Add` | `Public Shadows Sub Add(ByVal inAppInfo As clsAppInfo)` | Adds an info object to the active list. |
| `Contains` | `Public Overloads Function Contains(ByVal inAppInfo As clsAppInfo) As Boolean` | Returns whether the active list contains the supplied object. |
| `Contains` | `Public Overloads Function Contains(ByVal inAppInfoSeqNum As Integer) As Boolean` | Returns whether the active list contains an item with the supplied sequence number. |
| `ContainsDeleted` | `Public Overloads Function ContainsDeleted(ByVal inAppInfo As clsAppInfo) As Boolean` | Returns whether the deleted-list contains the supplied object. |
| `ContainsDeleted` | `Public Overloads Function ContainsDeleted(ByVal inAppInfoSeqNum As Integer) As Boolean` | Returns whether the deleted-list contains an item matching the supplied sequence number. |
| `Remove` | `Public Sub Remove(ByVal inAppInfo As clsAppInfo)` | Removes the supplied object from the active list. |
| `Remove` | `Public Sub Remove(ByVal inAppInfoSeqNum As Integer)` | Removes the first active-list item whose `AppInfoSeqNum` matches the supplied value. |
| `GetAppInfoCollection` | `Public Shared Function GetAppInfoCollection(ByVal inDataportal As IDataPortalInfo, ByVal inCreateDate As Date) As clsAppInfoCollection` | Retrieves an info collection for a single date. |
| `GetAppInfoCollection` | `Public Shared Function GetAppInfoCollection(ByVal inDataportal As IDataPortalInfo, ByVal inCriteria As Criteria) As clsAppInfoCollection` | Retrieves an info collection using a supplied criteria object. |

## Behavioral notes
- Retrieval executes [SQL-007](../../sql/SQL-007-saif-application-logview.md) for the row page and [SQL-008](../../sql/SQL-008-saif-application-logview.md) for the matching count.
- Standard searches exclude `EPAY` and `DirectDeposit` while `MyCriteria.ExcludeEpayAndDD` remains `True`, which aligns with [BR-008](../../business-rules.md#br-008-audit-searches-exclude-epay-and-directdeposit).
- The result page is capped at 300 rows, which aligns with [BR-001](../../business-rules.md#br-001-search-results-are-capped-at-300-rows).

## Constraints and usage notes
- The public criteria surface, including `SearchType`, is documented on [clsAppInfoCollection.Criteria](clsAppInfoCollection.Criteria.md).

## Sources
- `Application\SAIF.Application.LogView\clsAppInfoCollection.vb`
