﻿---
title: "PolicyPeriodPayrollAuditRepository"
summary: API reference for PolicyPeriodPayrollAuditRepository
status: draft
owner: SAIF.Core documentation team
last_reviewed: 2026-09-24
library: SAIF.Data.NHibernate
reference_type: package
---


# PolicyPeriodPayrollAuditRepository

`PolicyPeriodPayrollAuditRepository` is a minimal `Repository<PolicyPeriodPayrollAudit>` specialization with a single write operation that records, on a remote policy database (`@POLDB`), that a payroll audit report was received for a policy period. It never reads or writes `PolicyPeriodPayrollAudit` via NHibernate's mapping; the entity mapping exists only to satisfy the repository interface contract while the actual side effect happens via an inline Oracle procedure call.

## Purpose
- Record receipt of a payroll audit report for a policy and audit-period start date on the remote policy database, via `WCIS_DBA.PK73101_IMAGE.TRACK_IN_REPORT`.

## Context
- Namespace: `SAIF.Data.NHibernate.Repositories`
- Assembly/package: `SAIF.Data.NHibernate` (ships inside the `SAIF.SAIFCode.Core` NuGet package)
- Base class: `Repository<PolicyPeriodPayrollAudit>` from `SAIF.Framework.Data.NHibernate` (external, resolved via Legends CLI — see Inherited public members below).
- Implements: `IPolicyPeriodPayrollAuditRepository`, defined in `SAIF.Data`*.

## Public members
| Member | Signature | Purpose |
| --- | --- | --- |
| PolicyPeriodPayrollAuditRepository(NHibernateUnitOfWork) | `public PolicyPeriodPayrollAuditRepository(NHibernateUnitOfWork unitOfWork)` | Constructor; passes `unitOfWork` to the `Repository<PolicyPeriodPayrollAudit>` base. |
| TrackInReport | `public void TrackInReport(long policyNumber, DateTime auditPeriodStartDate)` | Executes `WCIS_DBA.PK73101_IMAGE.TRACK_IN_REPORT(:inpolicynum, :inauditperiodstartdate)` via inline SQL and `ExecuteUpdate()`, recording report receipt for the policy/audit-period on the remote `@POLDB` database ([SQL-055](../../sql/SQL-055-policy-period-payroll-audit-repository-track-in-report.md)). |

## Inherited public members

Members in this section are inherited from `Repository<PolicyPeriodPayrollAudit>` in `SAIF.Framework.Data.NHibernate`. They are available on this type through inheritance.

| Member | Signature | Purpose | Origin |
| --- | --- | --- | --- |
| Add | `public void Add(PolicyPeriodPayrollAudit entity)` | Registers a new `PolicyPeriodPayrollAudit` entity for insertion on the next unit-of-work commit.† | `SAIF.Framework.Data.NHibernate` — `RepositoryBase<PolicyPeriodPayrollAudit>` |
| Update | `public void Update(PolicyPeriodPayrollAudit entity)` | Marks an existing `PolicyPeriodPayrollAudit` entity as modified for the next unit-of-work commit.† | `SAIF.Framework.Data.NHibernate` — `RepositoryBase<PolicyPeriodPayrollAudit>` |
| Delete | `public void Delete(PolicyPeriodPayrollAudit entity)` | Registers a `PolicyPeriodPayrollAudit` entity for deletion on the next unit-of-work commit.† | `SAIF.Framework.Data.NHibernate` — `RepositoryBase<PolicyPeriodPayrollAudit>` |
| Query | `public IQueryable<PolicyPeriodPayrollAudit> Query()` | Returns a LINQ-queryable session projection over `PolicyPeriodPayrollAudit` for building ad hoc filters.† | `SAIF.Framework.Data.NHibernate` — `RepositoryBase<PolicyPeriodPayrollAudit>` |
| Get | `public PolicyPeriodPayrollAudit Get(object id)` | Loads a `PolicyPeriodPayrollAudit` by primary key, returning `null` if not found.† | `SAIF.Framework.Data.NHibernate` — `RepositoryBase<PolicyPeriodPayrollAudit>` |
| Load | `public PolicyPeriodPayrollAudit Load(object id)` | Loads a `PolicyPeriodPayrollAudit` by primary key as a (possibly proxied) reference, throwing if not found.† | `SAIF.Framework.Data.NHibernate` — `RepositoryBase<PolicyPeriodPayrollAudit>` |
| SystemDate | `public DateTime SystemDate { get; }` | Current system date/time as tracked by the underlying session/unit of work.† | `SAIF.Framework.Data.NHibernate` — `RepositoryBase<PolicyPeriodPayrollAudit>` |

## Behavioral notes
- `TrackInReport` writes directly via `ExecuteUpdate()` against a remote database link (`@POLDB`), bypassing NHibernate change-tracking and the inherited CRUD surface entirely; the affected tables on the remote database were not visible to analysis (`saif-data-nhibernate-db-analysis.md`)**.

## Constraints and usage notes
- Requires network/database-link connectivity from the executing Oracle session to `@POLDB`; failures there will surface as a database exception from `ExecuteUpdate()`*.

> **Note:** Statements marked with `†` are derived from dependency library
> documentation via the Legends CLI. Statements marked with `*` were inferred
> from code structure or contextual evidence. Statements marked with `**` could
> not be confirmed; treat as unknown until verified.

## Related documentation
- [Index](../../index.md)
- [Overview](../../overview.md)
- [Architecture](../../architecture.md)
- [Dependencies](../../dependencies.md)
- [Operations and processes](../../operations-processes.md)
- [Business rules](../../business-rules.md)
- [Database tables](../../database-tables.md)
- [SQL catalog](../../sql/index.md)
- [Procedures](../../procedures/index.md)
- [Security and authorization](../../security-authorization.md)
- [API reference](../index.md)

## Sources
- `Data/SAIF.Data.NHibernate/Repositories/PolicyPeriodPayrollAuditRepository.cs`
