Skip to content

clsScheduleManager

clsScheduleManager maintains the hearing schedule for a legal case: inserting and deleting schedule rows (deletion allowed only while the row is Cancelled — Business rules), driving assignment-driven file-location and status transitions, printing/emailing Defense Evaluation Form (DEF) letters, and synchronizing hearing schedule data to Guidewire as a matter and, for hearing/mediation types, as a claim activity. It reads the current user's default printer at construction time for DEF-letter printing. It inherits LegalManagerBase (this library) → ClaimAppManager (SAIF.Application.Claim).

Purpose

  • Insert and delete hearing schedule rows for the current legal case, restricting deletion to Cancelled-status rows (Business rules).
  • Drive file-location and case-status transitions triggered by assignment/schedule changes.
  • Print and email Defense Evaluation Form (DEF) letters, marking the case as DEF-sent and, outside Production, redirecting the reminder email to the current user (Business rules).
  • Synchronize hearing schedule data to Guidewire as a "matter" (and, for HEAR/MED schedule types, as a claim activity), gated on an attorney being assigned and tolerant of integration failures (Business rules).

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 and capturing the principal's default printer for DEF-letter printing.
ScheduleCol Public ReadOnly Property ScheduleCol As clsLegalScheduleCollection* Exposes the hearing schedule collection for the current legal case.
DeleteSchedule() Public Sub DeleteSchedule() Deletes the selected schedule row, blocking the operation with "Error: Cancel the event and save, before deleting a schedule row" unless the row is in Cancelled status (Business rules).
PrintDEF() Public Sub PrintDEF() Computes the next Friday hold date, calls LegalManagerBase.insertLetterRequest with letter type "DEFLT", sets CurrentCase.DefSentDate = Today and SendDefFlag = clsConstants.Yes, and propagates the DEF-sent flag to consolidated cases when invoked from a popup context (Business rules).
SendDEFEmail() Public Sub SendDEFEmail() Looks up the assigned attorney's manager email via pk80001_LEGALNET.get_atty_mngr_email, redirects the email to the current user outside Production with a body annotation naming the real recipient, resets SendDefFlag, propagates to consolidated cases, and sends mail via Mail.SendMail (Business rules).
SendDataToGw() Public Sub SendDataToGw() Builds a GwMatterRequest from the current schedule and calls the Guidewire GwMatterApi client, skipping the call when no attorney is assigned, retrying a failed create as an update, and logging (not throwing) on failure (Business rules).
CreateScheduleActivity() Public Sub CreateScheduleActivity()* Pushes a Guidewire claim activity (hearing/mediation reserve reminder, due in 30 days) for HEAR/MED schedule types after a successful matter sync.

Behavioral notes

  • PrintDEF() and SendDEFEmail() together implement the DEF workflow: printing marks the case DEF-sent, while the subsequent email reminder resets the pending-send flag once dispatched (Business rules).
  • SendDataToGw() follows the same best-effort Guidewire integration pattern used elsewhere in this library — failures are logged via Logging.clsLogError.CreateError and never surfaced to the caller (Business rules).

Constraints and usage notes

  • DeleteSchedule() requires the row to be Cancelled first; there is no direct-delete path for an active schedule row (Business rules).

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\LegalNet\clsScheduleManager.vb