﻿---
title: clsIndexBatch
summary: API reference for clsIndexBatch.
status: draft
owner: <owner>
last_reviewed: 2026-07-24
library: SAIF.Business.Imaging
reference_type: package
---

# clsIndexBatch

`clsIndexBatch` is a BOF business object representing a batch indexing job row in the `IMGSYS` table, aggregated by batch ID and scan date with a count of remaining documents.

## Purpose
- Retrieves, updates, and soft-deletes IMGSYS batch records by batch ID.
- Tracks the state of batch indexing jobs (scan date, remaining document count).

## Context
- Namespace: `SAIF.Business.Imaging`
- Assembly/package: `SAIF.BOF.Business.Imaging`

## Public members

| Member | Signature | Purpose |
| --- | --- | --- |
| `BatchID` | `Public Property BatchID() As String` | Batch identifier; null-capable (stored as DBNull when empty). |
| `RemainingDocs` | `Public ReadOnly Property RemainingDocs() As Decimal` | Count of remaining unindexed documents in this batch. |
| `ScanDate` | `Public Property ScanDate() As Date` | Scan date for this batch. |
| `MyCriteria` | `Public ReadOnly Property MyCriteria() As Criteria` | Returns the nested criteria object used to assemble SQL and portal requests.* |
| `SetBatchIDNull` | `Public Sub SetBatchIDNull()` | Sets BatchID to DBNull. |
| `IsBatchIDNull` | `Public Function IsBatchIDNull() As Boolean` | Returns True if BatchID is DBNull. |
| `Equals` | `Public Overloads Shared Function Equals(ByVal objA As Object, ByVal objB As Object) As Boolean` | Equality comparison by BatchID (object and typed overloads). |
| `Equals` | `Public Overloads Overrides Function Equals(ByVal inObject As Object) As Boolean` | Equality comparison by BatchID (object and typed overloads). |
| `Equals` | `Public Overloads Function Equals(ByVal inObject As clsIndexBatch) As Boolean` | Equality comparison by BatchID (object and typed overloads). |
| `GetHashCode` | `Public Overrides Function GetHashCode() As Integer` | Hash based on BatchID. |
| `ToString` | `Public Overrides Function ToString() As String` | Returns BatchID as string. |
| `GetIndexBatch` | `Public Shared Function GetIndexBatch(ByVal inDataportal As IDataPortalInfo, ByVal inBatchID As String) As clsIndexBatch` | Factory: retrieves an `IMGSYS` batch record by BatchID. |
| `Save` | `Public Overrides Function Save() As Boolean` | Accepts changes, calls base Save, and marks the object as old. |
| `SaveChild` | `Public Overrides Function SaveChild() As Boolean` | Same as Save but delegates to base SaveChild. |
| `Criteria` | `Public Class Criteria` | Nested criteria type that stores SQL text and request state for BOF data-portal operations.* |

## Behavioral notes
- Retrieve: `BeforeRetrieve` executes [SQL-031](../../sql/SQL-031-saif-business-imaging.md) filtering to non-indexed, non-deleted rows for a specific `BatchID`.
- Update: `BeforeUpdate` executes [SQL-038](../../sql/SQL-038-saif-business-imaging.md) to update scan date and batch ID on non-indexed rows.
- Delete (soft): `BeforeDelete` executes [SQL-044](../../sql/SQL-044-saif-business-imaging.md), setting `DELCD` rather than physically deleting rows.

## Constraints and usage notes
- Delete is implemented as a soft delete; rows are not physically removed from IMGSYS.
## Inherited public members

Members in this section are inherited from `clsBusinessBase` and are available on this type through the standard BOF base-class contract.

| Member | Signature | Purpose | Origin |
| --- | --- | --- | --- |
| `MyGuid` | `Public ReadOnly Property MyGuid() As String` | Returns the unique GUID for this object. | `Legacy\BusinessObjectFramework` — `clsBusinessBase` |
| `IsNew` | `Public ReadOnly Property IsNew() As Boolean` | Returns True if this is a new object, False if it is a pre-existing object. | `Legacy\BusinessObjectFramework` — `clsBusinessBase` |
| `IsDeleted` | `Public ReadOnly Property IsDeleted() As Boolean` | Returns True if this object is marked for deletion. | `Legacy\BusinessObjectFramework` — `clsBusinessBase` |
| `IsDirty` | `Public Overridable ReadOnly Property IsDirty() As Boolean` | Returns True if this object's data has been changed. | `Legacy\BusinessObjectFramework` — `clsBusinessBase` |
| `SetValueOnChange` | `Public Function SetValueOnChange(Of T)(ByRef inFieldValue As T, ByVal inSetValue As T, Optional ByVal inMarkDirty As Boolean = True) As Boolean` | Takes two values and compares them using the Equals function. If the values are different, it sets the inFieldValue = inSetValue, calls MarkDirty(), and returns True. Otherwise returns false. | `Legacy\BusinessObjectFramework` — `clsBusinessBase` |
| `IsSavable` | `Public Overridable ReadOnly Property IsSavable() As Boolean` | Returns True if this object is both dirty and valid. | `Legacy\BusinessObjectFramework` — `clsBusinessBase` |
| `PreviousLinkItem` | `Public ReadOnly Property PreviousLinkItem() As ILinkItem Implements ILinkItem.PreviousLinkItem` | Gets the Previous Item linked to this one. If this is the first item or not a member of a linked list, the value is nothing. | `Legacy\BusinessObjectFramework` — `clsBusinessBase` |
| `NextLinkItem` | `Public ReadOnly Property NextLinkItem() As ILinkItem Implements ILinkItem.NextLinkItem` | Gets the Next Item linked to this one. If this item is the last or not a member of a linked list, the value is nothing. | `Legacy\BusinessObjectFramework` — `clsBusinessBase` |
| `SetPreviousLink` | `Public Sub SetPreviousLink(ByRef inLinkItem As ILinkItem) Implements ILinkItem.SetPreviousLink` | Sets the Previous Item in Linked List | `Legacy\BusinessObjectFramework` — `clsBusinessBase` |
| `SetNextLink` | `Public Sub SetNextLink(ByRef inLinkItem As ILinkItem) Implements ILinkItem.SetNextLink` | Sets the Next Item in a Linked List. | `Legacy\BusinessObjectFramework` — `clsBusinessBase` |
| `InsertLinkAfter` | `Public Sub InsertLinkAfter(ByRef inLinkItem As ILinkItem) Implements ILinkItem.InsertLinkAfter` | Inserts the item being passed in into the linked list after the current item. | `Legacy\BusinessObjectFramework` — `clsBusinessBase` |
| `InsertLinkBefore` | `Public Sub InsertLinkBefore(ByRef inLinkItem As ILinkItem) Implements ILinkItem.InsertLinkBefore` | Inserts the item being passed in into the linked list prior to the current item. | `Legacy\BusinessObjectFramework` — `clsBusinessBase` |
| `RemoveLinks` | `Public Sub RemoveLinks() Implements ILinkItem.RemoveLinks` | Removes this item from a linked list. | `Legacy\BusinessObjectFramework` — `clsBusinessBase` |
| `BeginEdit` | `Public Sub BeginEdit()` | Starts a nested edit on the object. | `Legacy\BusinessObjectFramework` — `clsBusinessBase` |
| `CancelEdit` | `Public Sub CancelEdit()` | Cancels the current edit process, restoring the object's state to its previous values. | `Legacy\BusinessObjectFramework` — `clsBusinessBase` |
| `ApplyEdit` | `Public Sub ApplyEdit()` | Commits the current edit process. | `Legacy\BusinessObjectFramework` — `clsBusinessBase` |
| `Delete` | `Public Sub Delete()` | Marks the object for deletion. The object will be deleted as part of the next save operation. | `Legacy\BusinessObjectFramework` — `clsBusinessBase` |
| `Clone` | `Public Function Clone() As Object Implements ICloneable.Clone` | Returns a new object containing the exact data of the original object. | `Legacy\BusinessObjectFramework` — `clsBusinessBase` |
| `ValidateOnDelete` | `Public Property ValidateOnDelete() As Boolean` | Gets or Sets whether Business Rules are Validated on a Deleted Object. By Default this property is set to False. | `Legacy\BusinessObjectFramework` — `clsBusinessBase` |
| `Rules` | `Public ReadOnly Property Rules() As clsRulesManager` | Provides Access to the Objects Rules Manager | `Legacy\BusinessObjectFramework` — `clsBusinessBase` |
| `IsValid` | `Public Overridable ReadOnly Property IsValid() As Boolean` | The IsValid routine Checks all Rules and then returns true if the error count is zero. | `Legacy\BusinessObjectFramework` — `clsBusinessBase` |
| `ErrorCount` | `Public ReadOnly Property ErrorCount() As Integer` | Returns the number of errors generated by the Object. | `Legacy\BusinessObjectFramework` — `clsBusinessBase` |
| `ErrorMessages` | `Public ReadOnly Property ErrorMessages() As String()` | Returns a string array of Error Messages generated by the Object. | `Legacy\BusinessObjectFramework` — `clsBusinessBase` |
| `WarningCount` | `Public ReadOnly Property WarningCount() As Integer` | Returns the Number of Warnings generated by the object. | `Legacy\BusinessObjectFramework` — `clsBusinessBase` |
| `WarningMessages` | `Public ReadOnly Property WarningMessages() As String()` | Returns a string array of Warning Messages generated by the Object. | `Legacy\BusinessObjectFramework` — `clsBusinessBase` |
| `InformationalCount` | `Public ReadOnly Property InformationalCount() As Integer` | Returns the number of errors generated by the Object. | `Legacy\BusinessObjectFramework` — `clsBusinessBase` |
| `InformationalMessages` | `Public ReadOnly Property InformationalMessages() As String()` | Returns a string array of Warning Messages generated by the Object. | `Legacy\BusinessObjectFramework` — `clsBusinessBase` |
| `Save` | `Public Overridable Function Save() As Boolean` | Saves the object to the database. | `Legacy\BusinessObjectFramework` — `clsBusinessBase` |
| `SaveChild` | `Public Overridable Function SaveChild() As Boolean` | Saves the child object to the database. | `Legacy\BusinessObjectFramework` — `clsBusinessBase` |
| `XMLElementName` | `Public Property XMLElementName() As String` | Returns the Value used as the TagName when generating XML. | `Legacy\BusinessObjectFramework` — `clsBusinessBase` |
| `GetDataset` | `Public Sub GetDataset(ByRef inDS As DataSet)` | Retrieves dataset for the requested criteria or key values.* | `Legacy\BusinessObjectFramework` — `clsBusinessBase` |
| `GetDataset` | `Public Sub GetDataset(ByRef inDS As DataSet, ByVal inTableName As String)` | Retrieves dataset for the requested criteria or key values.* | `Legacy\BusinessObjectFramework` — `clsBusinessBase` |
| `GetReportXML` | `Public Function GetReportXML(ByVal inElementName As String) As String` | Retrieves report xml for the requested criteria or key values.* | `Legacy\BusinessObjectFramework` — `clsBusinessBase` |
| `GetReportXML` | `Public Function GetReportXML() As String` | Retrieves report xml for the requested criteria or key values.* | `Legacy\BusinessObjectFramework` — `clsBusinessBase` |
| `ToXml` | `Public Function ToXml() As String` | Returns to xml.* | `Legacy\BusinessObjectFramework` — `clsBusinessBase` |
| `ToXml` | `Public Function ToXml(ByVal inTagName As String) As String` | Returns to xml.* | `Legacy\BusinessObjectFramework` — `clsBusinessBase` |

> **Note:** Statements marked with `*` are inferred from code behavior rather than explicit documentation or comments.

## Sources
- `Business\SAIF.Business.Imaging\clsIndexBatch.vb`
- `Legacy\BusinessObjectFramework\clsBusinessBase.vb`
