# Pams.Business

**Kind:** Module

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

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

.NET project in solution

`Pams.Business` is a .NET project within the Pams solution. It contains business-layer logic that coordinates application workflows between higher-level consumers and underlying data or service components.

## Diagram

```mermaid
graph TD
    Consumer[Application Consumer] --> Business[Pams.Business]
    Business --> Domain[Domain Models and Rules]
    Business --> Data[Data Access or External Services]
    Data --> Storage[Database or Remote System]
```

## Usage

```ts
// Call an API endpoint backed by Pams.Business business logic.
const response = await fetch("/api/pams/items", {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    name: "Example item",
  }),
});

if (!response.ok) {
  throw new Error("Request failed");
}

const item = await response.json();
console.log(item);
```

## AI Coding Instructions

- Keep business workflow logic in `Pams.Business`; keep transport-specific concerns in API or UI projects.
- Define clear request and response models at module boundaries rather than exposing persistence entities directly.
- Route database access and external calls through referenced data or service abstractions.
- Preserve existing project references and dependency injection patterns when adding business services.
- Add validation and domain-rule checks before invoking data access operations.

## Relationships

- DEPENDS_ON → `AutoMapper`
- DEPENDS_ON → `AutoMapper.Net4`
- DEPENDS_ON → `Enyim.Caching`
- DEPENDS_ON → `Hangfire.Core`
- DEPENDS_ON → `Hangfire.SqlServer`
- DEPENDS_ON → `Microsoft.AspNet.Identity.Core`
- DEPENDS_ON → `Microsoft.AspNet.Identity.Owin`
- DEPENDS_ON → `Microsoft.IdentityModel.Abstractions`
- DEPENDS_ON → `Microsoft.IdentityModel.JsonWebTokens`
- DEPENDS_ON → `Microsoft.IdentityModel.Logging`
- DEPENDS_ON → `Microsoft.IdentityModel.Tokens`
- DEPENDS_ON → `Microsoft.Owin`
- DEPENDS_ON → `Microsoft.Owin.Host.SystemWeb`
- DEPENDS_ON → `Microsoft.Owin.Security`
- DEPENDS_ON → `Microsoft.Owin.Security.Cookies`
- DEPENDS_ON → `Microsoft.Owin.Security.OAuth`
- DEPENDS_ON → `Microsoft.Web.Infrastructure`
- DEPENDS_ON → `MiniProfiler`
- DEPENDS_ON → `Newtonsoft.Json`
- DEPENDS_ON → `Owin`
- DEPENDS_ON → `System`
- DEPENDS_ON → `System.Net.Http`
- DEPENDS_ON → `System.Runtime.Serialization`
- DEPENDS_ON → `System.Transactions`
- DEPENDS_ON → `System.Web.Http`
- DEPENDS_ON → `System.Web.Mvc`
- DEPENDS_ON → `System.Web.Razor`
- DEPENDS_ON → `System.Web.WebPages`
- DEPENDS_ON → `System.Web.WebPages.Deployment`
- DEPENDS_ON → `System.Web.WebPages.Razor`
- DEPENDS_ON → `System.Xml.Linq`
- DEPENDS_ON → `System.Data.DataSetExtensions`
- DEPENDS_ON → `Microsoft.CSharp`
- DEPENDS_ON → `System.Data`
- DEPENDS_ON → `System.Xml`
- DEPENDS_ON → `Pams.Core`
- DEPENDS_ON → `Pams.Data`
- DEPENDS_ON → `Pams.CurrencyConverter`
- DEPENDS_ON → `Pams.Storage`

## Used by

4 references from 4 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 (3)

- `Pams.API` — `Pams/API/Pams.API/Pams.API.csproj`:1
- `Pams.Security` — `Pams/Core/Pams.Security/Pams.Security.csproj`:1
- `HelperTool` — `Pams/HelperTool/HelperTool.csproj`:1

### Declared in (1)

- `Pams` — `Pams/Pams.sln`:1
