Skip to content

SAIF.Business.Utilities operations and processes

This library exposes utility functions rather than multi-step BOF business operations (no Criteria/lifecycle methods, no transaction boundaries). This page is the operation catalog and cross-operation hub; each operation's detailed step-by-step logic lives in its own page under operations/.

Operation catalog

Operation Intent Trigger Inputs Outputs Rules
Title-case a string Convert an all-caps or inconsistently cased string into human-readable title case, preserving punctuation/whitespace. Call to TitleCase.ToTitleCase or the .ToTitleCase() extension. A String (possibly null/blank). The title-cased String. BR-UTIL-001, BR-UTIL-002, BR-UTIL-003, BR-UTIL-004, BR-UTIL-005, BR-UTIL-006, BR-UTIL-007, BR-UTIL-008, BR-UTIL-009
Convert a number to English words Spell out a Long numeric value as English words (e.g., for amount-in-words rendering). Call to mdlTextConversion.NumberToText. A Long value. The spelled-out String. BR-UTIL-010, BR-UTIL-011

Process flow diagram

The following diagram visualizes the two primary operational flows exposed by this library.

flowchart TD
    Start([Caller invokes .ToTitleCase]) --> Guard{Input null/blank?}
    Guard -->|Yes| ReturnUnchanged([Return input unchanged])
    Guard -->|No| Split[Regex.Split into tokens]
    Split --> Classify[Classify + case each token]
    Classify --> Reassemble[Reassemble with original delimiters]
    Reassemble --> Suffix[Apply possessive 's suffix pass]
    Suffix --> ForceCap[Force first character upper case]
    ForceCap --> EndTC([Return title-cased string])

    StartNT([Caller invokes NumberToText]) --> Bound{n > 999,999,999,999,999?}
    Bound -->|Yes| Throw([Throw ApplicationException])
    Bound -->|No| Magnitude[Recurse by magnitude:<br>ones/teens, tens, hundreds,<br>thousands, millions, billions, trillions]
    Magnitude --> EndNT([Return spelled-out words])

Failure and edge-case behavior

  • TitleCase.ToTitleCase: null, empty, or whitespace-only input is returned unchanged rather than raising an error (BR-UTIL-001).
  • mdlTextConversion.NumberToText: values above 999,999,999,999,999 raise ApplicationException rather than truncating or wrapping (BR-UTIL-010).

Sources

  • SAIF.Business.Utilities\TitleCase.vb
  • SAIF.Business.Utilities\mdlTextConversion.vb
  • .saifdocgen/state/runs/20260821-113120-claims-bof-web-legal/analysis/TSK007-analysis.md