Leave Projection Storage
Summary
Payroll-local leave projection persistence and freshness controls.
Audience
Payroll developers, QA and support engineers, solution and security architects, and implementation partners.
Reference Content
The sections below describe the confirmed logical storage contract and its implementation boundaries.
Purpose
Describe the local LeavePayrollSnapshot consumed by Payroll calculation.
Ownership
Payroll owns the projection; Leave remains authoritative for leave facts.
Lifecycle
Inbound leave events or backfill upsert one tenant/employee/period record with last-event markers used for duplicate/stale handling.
Persisted fields
The record stores tenant/employee/period identity, categorized leave-day summaries, a structured breakdown, event markers, and update time.
Relationships
The projection logically contributes to Payroll details but has no configured foreign key.
Constraints
A unique tenant/employee/year/month index enforces the local projection identity.
Indexes
The unique projection identity is the only explicit leave-snapshot index.
Tenant behavior
Normal reads are globally filtered; controlled synchronization/backfill uses explicit tenant predicates when bypassing filters.
Audit behavior
Synchronization/backfill records operation evidence, not a complete leave history.
Integration usage
Successful event application, processed-event marking, and audit evidence share one EF SaveChanges call; broker acknowledgement is later.
Known limitations
The projection is a current period summary and depends on upstream delivery.
Requires confirmation
- Late-change reconciliation and historical correction policy.
- Freshness monitoring ownership.
Source References
microservices/src/payroll-service/Infrastructure/PayrollDbContext.csmicroservices/src/payroll-service/Domain/PayrollEntities.csmicroservices/src/payroll-service/Infrastructure/Migrations/PayrollDbContextModelSnapshot.csmicroservices/src/payroll-service/Messaging/PayrollReadModelConsumer.csmicroservices/src/payroll-service/Backfill/LeaveSnapshotBackfill.cs
Related Articles
See Also
Keywords
- Payroll database
- Leave Projection Storage
- Payroll persistence
Revision Information
- Status: Draft
- Last reviewed: 2026-07-15
- Review cycle: Quarterly