---
title: ILegalQueryProvider
summary: API reference for ILegalQueryProvider.
status: draft
owner: SAIF.Core documentation team
last_reviewed: 2026-09-24
library: SAIF.Data
reference_type: package
---

# ILegalQueryProvider

Contract implemented by `LegalQueryProvider`.

## Purpose
- Defines the members that `LegalQueryProvider` must provide to callers of this abstraction.

## Context
- Namespace: `SAIF.Data.Queries.Legal`
- Assembly/package: `SAIF.Data`

## Public members
| Member | Signature | Purpose |
| --- | --- | --- |
| GetLegalCase | `LegalCase GetLegalCase(long id)` | Retrieves legal case.* |
| GetLegalCases | `IEnumerable<LegalCase> GetLegalCases(long claimId)` | Retrieves legal cases.* |
| GetClaimIdForCase | `long GetClaimIdForCase(string claimNumOrCaseNumber)` | Retrieves claim id for case.* |
| GetActiveLegalCases | `IEnumerable<LegalCase> GetActiveLegalCases(long claimId)` | Retrieves active legal cases.* |
| GetAttorneyProfile | `AttorneyProfile GetAttorneyProfile(string attorneyEmployeeId)` | Retrieves attorney profile.* |
| GetOtherFirm | `OtherFirm GetOtherFirm(long id)` | Retrieves other firm.* |
| GetLegalPerson | `LegalPerson GetLegalPerson(long id)` | Retrieves legal person.* |
| GetLegalPersonAddress | `LegalPersonAddress GetLegalPersonAddress(long id, string addressTypeCode)` | Retrieves legal person address.* |
| GetAdpEmployeeName | `String GetAdpEmployeeName(string emplId)` | Retrieves adp employee name.* |
| GetAppealAssignedAttorney | `String GetAppealAssignedAttorney(long caseId)` | Retrieves appeal assigned attorney.* |
| IsPrimaryCase | `bool IsPrimaryCase(long caseId)` | Indicates whether primary case.* |
| IsImageAlertNeeded | `bool IsImageAlertNeeded(long claimId)` | Indicates whether image alert needed.* |
| GetCaseCost | `IEnumerable<CaseCost> GetCaseCost(long caseId)` | Retrieves case cost.* |
| GetLegalBills | `IEnumerable<LegalBill> GetLegalBills(long caseId)` | Retrieves legal bills.* |
| GetSubpoenas | `IEnumerable<Subpoena> GetSubpoenas(long caseId)` | Retrieves subpoenas.* |
| GetLegalBillFinancialTransaction | `FinancialTransaction GetLegalBillFinancialTransaction(long billId,  long claimId)` | Retrieves legal bill financial transaction.* |
| GetSubpoenaFinancialTransaction | `FinancialTransaction GetSubpoenaFinancialTransaction(long subpoenaId, long recipientId, long claimId)` | Retrieves subpoena financial transaction.* |

## Behavioral notes
- As an interface, this type defines no executable behavior of its own; behavior is determined by its implementation(s).*

## Constraints and usage notes
- Callers should depend on this interface rather than the concrete implementation(s) (`LegalQueryProvider`) to preserve testability.*

> **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
- `Data/SAIF.Data/Queries/Legal/ILegalQueryProvider.cs`
