Carry Forward Storage
Summary
CarryForwards is a persisted Foundation record for units moved between years; no scheduler, command orchestration, workflow, or public API is implemented.
Audience
Backend developers, QA, architects, and future year-end processing owners.
Reference Content
The record stores an integer identity, tenant, user, Leave-type string, source and target years, units, processing actor identifier, and processing time. A non-unique index covers tenant + user + Leave type + target year. It has a tenant query filter but no unique constraint, status, error state, batch/run identity, or foreign keys.
LeaveBalance contains a carried-forward value and a domain method for applying it, but no source-confirmed application workflow connects that method to CarryForwardRecord. Duplicate prevention and source/target-year rules are application gaps rather than database constraints.
Source References
- microservices/src/leave-service/Domain/Leave/LeaveExtras.cs
- microservices/src/leave-service/Domain/Leave/LeaveBalance.cs
- microservices/src/leave-service/Infrastructure/LeaveDbContext.cs
- microservices/src/leave-service/Infrastructure/Persistence.cs
Related Articles
See Also
Keywords
- Carry forward
- Foundation
- Year transition
Revision Information
- Status: Draft
- Last reviewed: 2026-07-15
- Review cycle: Quarterly