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

# CaseCost

Domain entity representing Case cost data within the legal area of the claims/policy domain, mapped for NHibernate persistence.*

## Purpose
- Models case cost data used by the legal area of this library.*
- Inherits shared identity/lifecycle behavior from `EntityBase`.

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

## Public members
| Member | Signature | Purpose |
| --- | --- | --- |
| Id | `long Id { get; set; }` | Primary key / surrogate identifier for this record.* |
| LegalCase | `LegalCase LegalCase { get; set; }` | Reference to the associated `LegalCase` record.* |
| BillingProvider | `ProviderLocation BillingProvider { get; set; }` | Reference to the associated `ProviderLocation` record.* |
| RenderingProvider | `ProviderLocation RenderingProvider { get; set; }` | Reference to the associated `ProviderLocation` record.* |
| ServiceFromDate | `DateTime ServiceFromDate { get; set; }` | Date/time value for service from date.* |
| ServiceThruDate | `DateTime? ServiceThruDate { get; set; }` | Date/time value for service thru date.* |
| Service | `Service Service { get; set; }` | Reference to the associated `Service` record.* |
| ApprovedByEmployeeId | `String ApprovedByEmployeeId { get; set; }` | Foreign-key identifier referencing the related approved by employee record.* |
| ApprovedDate | `DateTime ApprovedDate { get; set; }` | Date/time value for approved date.* |
| IsPrepayment | `bool IsPrepayment { get; set; }` | Indicates whether prepayment.* |
| BilledAmount | `decimal BilledAmount { get; set; }` | Monetary amount for billed amount.* |
| PaidAmount | `decimal PaidAmount { get; set; }` | Monetary amount for paid amount.* |
| HoursBilled | `decimal HoursBilled { get; set; }` | Value of hours billed exposed by this type.* |
| CreateDate | `DateTime CreateDate { get; set; }` | Date/time value for create date.* |
| CreateUser | `string CreateUser { get; set; }` | Value of create user exposed by this type.* |
| UpdateDate | `DateTime? UpdateDate { get; set; }` | Date/time value for update date.* |
| UpdateUser | `string UpdateUser { get; set; }` | Value of update user exposed by this type.* |

## Behavioral notes
- Properties are typically declared `virtual` to support NHibernate lazy-loading proxies (see the corresponding mapping file under `Data/SAIF.Data.NHibernate`).*

## Constraints and usage notes
- No additional usage constraints beyond standard NHibernate entity/DTO conventions could be confirmed from static analysis.**

> **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/Model/Legal/CaseCost.cs`
