Skip to content

clsLegalPersonManager

clsLegalPersonManager maintains legal persons and other-firm reference records: inserting/deleting persons, person types, and firms, and preventing deletion of a person currently referenced elsewhere. Like clsHearingLocationManager, it caches code-list lookups to reduce Oracle round trips for largely static reference data. It inherits LegalManagerBase (this library) → ClaimAppManager (SAIF.Application.Claim).

Purpose

  • Maintain legal person and other-firm reference records: insert/delete person, person type, and firm.
  • Enforce that a legal person cannot be deleted while still in use, delegating the in-use check to the business layer (Business rules).
  • Cache legal-person/firm code-list lookups in-process to reduce Oracle round trips.

Context

  • Namespace: SAIF.Application.Claim.Legal
  • Assembly/package: SAIF.Application.Claim.Legal.dll (embedded library, referenced by the Legal web front end)

Public members

Member Signature Purpose
New(inDatabase, inSecurityPrincipal) Public Sub New(inDatabase As String, inSecurityPrincipal As clsSecurityPrincipal) Constructs the manager for the given database context and authenticated principal, calling into LegalManagerBase.New.
LegalPersonCol Public ReadOnly Property LegalPersonCol As clsLegalPersonCollection* Exposes the legal-person collection backing the maintenance grid.
InsertPerson() Public Sub InsertPerson()* Adds a new legal-person record to LegalPersonCol for subsequent editing and save.
DeletePerson() Public Sub DeletePerson() Deletes the selected legal person, blocking the operation with "Error: This person is in use, and cannot be deleted." when clsLegalPerson.CanDeleteLegalPerson reports the person is still in use (Business rules).
OtherFirmCol Public ReadOnly Property OtherFirmCol As clsOtherFirmCollection* Exposes the other-firm collection backing the firm maintenance grid.
Save() Public Overrides Function Save() As Boolean* Persists pending legal-person/firm inserts/edits via the inherited clsBusinessBase.Save() dispatch path.

Behavioral notes

  • DeletePerson() delegates the in-use determination to clsLegalPerson.CanDeleteLegalPerson in the referenced SAIF.Business.Claim.Legal library rather than checking usage locally (Business rules).
  • Code-list lookups cached by this manager reduce repeated Oracle round trips for largely static person/firm reference data*.

Constraints and usage notes

  • Deletion of a person or firm still referenced by case data is blocked at the manager layer using a business-layer-reported in-use flag, not a database foreign-key error surfaced to the user*.

Note: Statements marked with * were inferred from code structure, naming conventions, or contextual evidence where direct confirmation was not available in source artifacts.

Sources

  • SAIF.Application.Claim.Legal\clsLegalPersonManager.vb