AuthorityMappingHelper¶
Registers the AutoMapper type-conversion maps used by the payment-authority feature, translating between SAIF.Data.Model.Claims.Authority/SAIF.Data.Model.Claims.CodeTables persistence entities and the SAIF.Core.Contracts.Claims.Authority contract types (PaymentAuthorityLimit, PaymentAuthorityLimitHistory, AuthorityBusinessProcessCode, FunctionTypeCode, ApprovalTypeCode). It is invoked once from ClaimAuthorityService's constructor* to ensure the global AutoMapper.Mapper static registry has these maps configured before any mapping calls occur.
Purpose¶
- Establishes bidirectional AutoMapper configuration between authority-limit data entities and their contract representations.
- Renames and reshapes fields during mapping (for example
MaximumPaymentAmount→MaximumAmount,AuthorizedByEmplid→AuthorizedByEmployeeId,PurposeType→ApprovalType). - Populates the nested
BusinessProcesscode/description onPaymentAuthorityLimitviaBeforeMap/AfterMapcallbacks when mapping fromEmployeeAuthorityLimit. - Normalizes
UpdateUserto uppercase when mapping payment limit history records.
Context¶
- Namespace:
SAIF.Services.Claims.Authority - Assembly/package:
SAIF.Services(packaged inside theSAIF.SAIFCode.CoreNuGet package)
Public members¶
| Member | Signature | Purpose |
|---|---|---|
| MapTables | public static void MapTables() |
Registers all AutoMapper CreateMap configurations for authority limits, authority limit history, and the related authority/payment-type/approval-type code tables; safe to call repeatedly since it only adds map configuration to the static Mapper registry. |
Behavioral notes¶
- Uses the static (non-instance)
AutoMapper.MapperAPI, so registrations are global and shared across all consumers of the process*. - The
EmployeeAuthorityLimit → PaymentAuthorityLimitmap setsBusinessProcessto a newAuthorityBusinessProcessCodebefore copying itsCodeandDescriptionfields, ensuring the nested object is never left null. - Reverse maps (
ReverseMap()) are registered for the code-table pairs, allowing mapping in both directions between data and contract code tables.
Note: Statements marked with * were inferred from code structure, naming conventions, or contextual evidence where direct confirmation was not available in source artifacts. Statements marked with ** could not be confirmed; treat as unknown until verified.
Sources¶
- Services/SAIF.Services/Claims/Authority/AuthorityMappingHelper.cs