Skip to content

SAIF.Business.Utilities operations and processes

This page is the operation catalog and cross-operation hub for this library. Each operation's detailed, step-by-step logic lives in its own page under operations/.

Operation catalog

Operation Intent Trigger Inputs Outputs Rules
Convert text to title case Format stored text into human-readable title case Display-layer caller formats a stored value String (free-form text with mixed delimiters) Title-cased string with original delimiters preserved BR-001 through BR-012
Case a single word Apply casing rules to individual tokens Per-token processing during title case Single word token Cased word per applicable list BR-004 through BR-012
Convert a number to English words Render numeric values as written English Legal/printed output requires word rendering Long integer (whole number) Space-delimited English words BR-013 through BR-016
Sentence-case a string Normalize string to first-letter-upper casing Display normalization for sentence-style text String (any casing) First character upper, remainder lower BR-017
Pad capital letters Expand run-together identifiers into spaced words Caller wants Pascal-cased text converted to words String (may be run-together, e.g. PolicyName) String with spaces inserted at capitals, or original if already spaced BR-018

Failure and edge-case behavior

  • ToTitleCase with Nothing or whitespace-only input: returns the input unchanged without raising an exception (BR-001).
  • ToTitleCase with only delimiter characters: preserves the original string if no word tokens are found (BR-002).
  • NumberToText exceeding magnitude limit: throws ApplicationException("Number too large to convert to text. Limit is 999,999,999,999,999.") for values > 999,999,999,999,999 (BR-013).
  • NumberToText with zero: returns an empty string, not the word "Zero"; this also terminates recursion for exact multiples (BR-015).
  • Recursive depth: Both TitleCase.ReassembleString and mdlTextConversion.NumberToText use recursion; depth scales with word count and numeric magnitude respectively*.
  • Index-out-of-range risk: A source string whose delimiter positions do not align with reassembly index computation can surface an IndexOutOfRangeException from inSourceString.ElementAt(...)**.

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

  • SAIF.Business.Utilities/TitleCase.vb
  • SAIF.Business.Utilities/mdlTextConversion.vb