# System.Data

**Kind:** Service

**Source:** `Pams/Logic/Pams.CurrencyConverter/Pams.CurrencyConverter.csproj` (line 1)

**Part of:** [Pams](subsystem-pams)

NuGet package dependency

`System.Data` is a NuGet package dependency declared by `Pams.CurrencyConverter`. It makes .NET data-related APIs available when the CurrencyConverter project is restored and built, rather than exposing a standalone runtime service.

## Diagram

```mermaid
flowchart TD
    Developer[Developer] --> Build[.NET build]
    Build --> Project[CurrencyConverter project file]
    Project --> Dependency[System.Data dependency]
    Dependency --> NuGet[NuGet restore]
    NuGet --> Build
    Build --> Output[CurrencyConverter assembly]
```

## Usage

```ts
import { execFileSync } from "node:child_process";

const projectFile =
  "Pams/Logic/Pams.CurrencyConverter/Pams.CurrencyConverter.csproj";

execFileSync("dotnet", ["restore", projectFile], {
  stdio: "inherit",
});

execFileSync("dotnet", ["build", projectFile], {
  stdio: "inherit",
});
```

## AI Coding Instructions

- Treat `System.Data` as a build-time NuGet dependency, not a JavaScript runtime API.
- Keep the package reference format consistent with the existing legacy project configuration.
- Run `dotnet restore` before building when package assets are missing.
- Check the project file after dependency changes to confirm `System.Data` remains available to `Pams.CurrencyConverter`.

## Used by

6 references from 6 files. Each is a place in this repository where the symbol is actually used — go read one rather than trusting an example.

### Injected or called by (6)

- `Pams.Security` — `Pams/Core/Pams.Security/Pams.Security.csproj`:1
- `Pams.Data` — `Pams/Data/Pams.Data/Pams.Data.csproj`:1
- `HelperTool` — `Pams/HelperTool/HelperTool.csproj`:1
- `Pams.Common` — `Pams/Logic/Common/Pams.Common.csproj`:1
- `Pams.Business` — `Pams/Logic/Pams.Business/Pams.Business.csproj`:1
- `Pams.CurrencyConverter` — `Pams/Logic/Pams.CurrencyConverter/Pams.CurrencyConverter.csproj`:1
