# PAMS Documentation Test

## Overview

Auto-generated technical documentation for **PAMS Documentation Test** — 9862 entities (4515 classs, 1781 api endpoints, 830 doc comments, 777 components).

## Architecture

```mermaid
flowchart LR
  module_AppRoutingModule_71aca0c8["AppRoutingModule"]
  module_TranslateHandler_6ab6bcfa["TranslateHandler"]
  module_MrqComponentsModule_d4d0be2["MrqComponentsModule"]
  module_MrqModule_54ba3f["MrqModule"]
  service_MrqService_1a6cfc57["MrqService"]
  module_BillOfMaterialsComponentsModule_4e135ac0["BillOfMaterialsComponentsModule"]
  module_BillOfMaterialsModule_4d5fafe1["BillOfMaterialsModule"]
  service_BillOfMaterialsService_16a90939["BillOfMaterialsService"]
  module_BlogsModule_a8adaba["BlogsModule"]
  service_BlogsService_7bc342c6["BlogsService"]
  service_WarehouseConfigService_733f5ad0["WarehouseConfigService"]
  module_ConfigurationRoutingModule_5b554b82["ConfigurationRoutingModule"]
  module_TranslateHandler_23629117["TranslateHandler"]
  service_DemoDataService_720df7a1["DemoDataService"]
  service_IntegrationWithCrmsService_511b0fcf["IntegrationWithCrmsService"]
  service_ManageAccountsService_700cab55["ManageAccountsService"]
  module_ProductsComponentsModule_6c0c4557["ProductsComponentsModule"]
  service_SubscriptionInvoicesService_7a94a153["SubscriptionInvoicesService"]
  service_HtmlTemplatesService_2c710f3c["HtmlTemplatesService"]
  service_BonusCompany_671e914f["BonusCompany"]
  module_CoreBusinessModule_579499c8["CoreBusinessModule"]
  service_BusinessAnalysisService_68e0861["BusinessAnalysisService"]
  service_CustomDashboardService_5ba9203d["CustomDashboardService"]
  service_ReportObject_361a78e8["ReportObject"]
  module_TranslateHandler_6ab6bcfa --> module_ProductsComponentsModule_6c0c4557
  module_TranslateHandler_6ab6bcfa --> module_AppRoutingModule_71aca0c8
  module_TranslateHandler_6ab6bcfa --> module_CoreBusinessModule_579499c8
  module_MrqComponentsModule_d4d0be2 --> module_ProductsComponentsModule_6c0c4557
  module_MrqModule_54ba3f --> module_MrqComponentsModule_d4d0be2
  module_BillOfMaterialsComponentsModule_4e135ac0 --> module_MrqComponentsModule_d4d0be2
  module_BillOfMaterialsComponentsModule_4e135ac0 --> module_ProductsComponentsModule_6c0c4557
  module_BillOfMaterialsModule_4d5fafe1 --> module_BillOfMaterialsComponentsModule_4e135ac0
  module_TranslateHandler_23629117 --> module_ConfigurationRoutingModule_5b554b82
```

## Modules

- **AppRoutingModule**
- **TranslateHandler**
- **MrqComponentsModule**
- **MrqModule**
- **BillOfMaterialsComponentsModule**
- **BillOfMaterialsModule**
- **BlogsModule**
- **ConfigurationRoutingModule**
- **TranslateHandler**
- **ProductsComponentsModule**
- **CoreBusinessModule**
- **ActivitiesRouteModule**
- **DashboardWidgetsModule**
- **DashboardModule**
- **MyDeskRouteModule**
- **MyDesk2RouteModule**
- **PrincipalReportRouteModule**
- **SendMailRouteModule**
- **TasksRouteModule**
- **InvoicesModule**
- **JobCostingComponentModule**
- **JobCostingModule**
- **LettersOfGuarantiesComponentsModule**
- **LettersOfGuarantiesRoutingModule**
- **LettersOfGuarantiesModule**
- **ContactsModule**
- **MarketComponentsModule**
- **MarketModule**
- **ProjectsModule**
- **PayablesRoutingModule**
- **PayablesModule**
- **PaymentsComponentsModule**
- **PaymentsRoutingModule**
- **PaymentsModule**
- **PrincipalInvoiceComponentsModule**
- **PrincipalInvoiceModule**
- **ProcurementModule**
- **PurchasingComponentsModule**
- **PurchasingModule**
- **ReferencesComponentsModule**
- **ReferencesModule**
- **SalesComponentsModule**
- **SalesComponentsModule**
- **SalesModule**
- **SecurityComponentsModule**
- **SecurityRoutingModule**
- **SecurityModule**
- **SharedRoutingModule**
- **TranslateHandler**
- **ProductionOrderModule**
- **ShippingOrderModule**
- **WarehouseRoutingModule**
- **WarehouseModule**
- **AuthModule**
- **PamsServicesModule**
- **AppRoutingModule**
- **TranslateHandler**
- **AuthModule**
- **AuthModule**
- **PamsServicesModule**
- **AppRoutingModule**
- **AppModule**
- **AlertModule**
- **AppMenuModule**
- **BusyIndicatorModule**
- **CoreModule**
- **ModalDialogModule**
- **AuthModule**
- **SharedServicesModule**
- **AppRoutingModule**
- **AppModule**
- **ConfigurationRoutingModule**
- **ConfigurationModule**
- **CoreModule**
- **Pams.API**
- **Pams.API.Core**
- **Pams.Core**
- **Pams.Security**
- **Pams.Data**
- **PamsDatabaseSolution**
- **Pams.Database**
- **HelperTool** — .NET WinExe project (C#)
- **Pams.Common**
- **Pams.Business**
- **Pams.CurrencyConverter**
- **Pams.Email**
- **Pams.Storage**
- **Pams**
- **API**
- **Core**
- **Data**
- **Logic**
- **Web**
- **Pams.Data**
- **Pams.Core**
- **Pams.Security**
- **Pams.Business**
- **Pams.CurrencyConverter**
- **Pams.Storage**
- **Pams.Email**
- **Pams.API**
- **Pams.Common**
- **Tools**
- **HelperTool**
- **Pams.Web**
- **Pams.API.Core**
- **PamsDatabase**
- **Pams.Database**
- **Pams.Web**
- **Pams.WebApp**

## Entry Points

- Controller: **AuthenticatedController** (`Pams/API/Pams.API/ActionFilters/JWTAuthenticateAttribute.cs`)
- Controller: **BaseController** (`Pams/API/Pams.API/Controllers/BaseController.cs`)
- Controller: **AccountManagerTargetController** (`Pams/API/Pams.API/Controllers/BookingTarget/AccountManagerTargetController.cs`)
- Controller: **EmployeeBonusController** (`Pams/API/Pams.API/Controllers/BookingTarget/EmployeeBonusController.cs`)
- Controller: **FinanceBudgetController** (`Pams/API/Pams.API/Controllers/BookingTarget/FinanceBudgetController.cs`)
- Controller: **ForecastedBookingController** (`Pams/API/Pams.API/Controllers/BookingTarget/ForecastedBookingController.cs`)
- Controller: **PrincipalTargetController** (`Pams/API/Pams.API/Controllers/BookingTarget/PrincipalTargetController.cs`)
- Controller: **ProductTypeTargetController** (`Pams/API/Pams.API/Controllers/BookingTarget/ProductTypeTargetController.cs`)
- Controller: **TeamTargetController** (`Pams/API/Pams.API/Controllers/BookingTarget/TeamTargetController.cs`)
- Controller: **UserMarkerController** (`Pams/API/Pams.API/Controllers/ColorMarker/UserMarkerController.cs`)
- Controller: **AddressController** (`Pams/API/Pams.API/Controllers/Common/AddressController.cs`)
- Controller: **AddressTypeController** (`Pams/API/Pams.API/Controllers/Common/AddressTypeController.cs`)
- Controller: **BankAccountController** (`Pams/API/Pams.API/Controllers/Common/BankAccountController.cs`)
- Controller: **BankController** (`Pams/API/Pams.API/Controllers/Common/BankController.cs`)
- Controller: **BookingTargetController** (`Pams/API/Pams.API/Controllers/Common/BookingTargetController.cs`)
- Controller: **CategoryTypeController** (`Pams/API/Pams.API/Controllers/Common/CategoryTypeController.cs`)
- Controller: **CategoryController** (`Pams/API/Pams.API/Controllers/Common/CategroyController.cs`)
- Controller: **CityController** (`Pams/API/Pams.API/Controllers/Common/CityController.cs`)
- Controller: **ClientTypeController** (`Pams/API/Pams.API/Controllers/Common/ClientTypeController.cs`)
- Controller: **ColorMarkerController** (`Pams/API/Pams.API/Controllers/Common/ColorMarkerController.cs`)
- `GET /bookingtarget/accountmanagertarget/getbyid/{id}` → GetById
- `GET /bookingtarget/accountmanagertarget/getaccountmanagerstargetbyyear/{year}` → GetAccountManagersTargetByYear
- `PUT /bookingtarget/accountmanagertarget/saveaccountmanagertarget` → SaveAccountManagerTarget
- `POST /bookingtarget/accountmanagertarget/newyear/{yearId}` → CreateAccountManagerTargetForNewYear
- `GET /bookingtarget/employeebonus/getbonuscalculationsheetbyyear/{year}` → GetEmployeeBonusCalculationSheetByYear
- `GET /bookingtarget/employeebonus/getteamsbonusbyyear/{year}` → GetTeamsBonusByYear
- `GET /bookingtarget/employeebonus/getemployeesbonusforcurrentyear` → GetEmployeesBonusForCurrentYear
- `PUT /bookingtarget/employeebonus/savebonuscalculationsheet` → SaveEmployeeBonusCalculationSheet
- `GET /bookingtarget/financebudget/getbyid/{id}` → GetById
- `GET /bookingtarget/financebudget/getallbudgetsbyyear/{year}` → GetProductTypesTargetByYear
- `GET /bookingtarget/financebudget/getbranchbudgetsbyyear/{year}/branch/{branchId}` → GetProductTypesTargetByYear
- `GET /bookingtarget/financebudget/getnetprofitsbyyear/{yearId}` → GetNetProfitsByYear
- `PUT /bookingtarget/financebudget/savedepreciation` → SaveDepreciation
- `PUT /bookingtarget/financebudget/savesga` → SaveSGA
- `POST /bookingtarget/financebudget/newyear/{yearId}` → CreateFinanceBudgetForNewYear
- `GET /bookingtarget/forecastedbooking/getbranchrules/{branchId}` → GetBranchRules
- `PUT /bookingtarget/forecastedbooking/saverules` → SaveRules
- `GET /bookingtarget/principaltarget/getbyid/{id}` → GetById
- `GET /bookingtarget/principaltarget/getprincipalstargetbyyear/{year}` → GetPrincipalsTargetByYear
- `PUT /bookingtarget/principaltarget/saveprincipaltarget` → SavePrincipalTarget
- `POST /bookingtarget/principaltarget/newyear/{yearId}` → CreatePrincipalTargetForNewYear
- `GET /bookingtarget/producttypetarget/getbyid/{id}` → GetById
- `GET /bookingtarget/producttypetarget/getproducttypestargetbyyear/{year}` → GetProductTypesTargetByYear
- `PUT /bookingtarget/producttypetarget/saveproducttypebookingtarget` → SaveProductTypeBookingTarget
- `PUT /bookingtarget/producttypetarget/saveproducttypesalestarget` → SaveProductTypeSalesTarget
- `PUT /bookingtarget/producttypetarget/saveproducttypebudget` → SaveProductTypeBudget
- `POST /bookingtarget/producttypetarget/newyear/{yearId}` → CreateProductTypeTargetForNewYear
- `GET /bookingtarget/teamtarget/getlookupoldyears` → GetLookupYears
- `GET /bookingtarget/teamtarget/getteamsbyyear/{year}` → GetTeamsByYear
- `GET /bookingtarget/teamtarget/getteam/{teamId}/targetdetailbyyear/{yearId}` → GetTeamMonthlyTargetByYear

## Key Components

_The most-referenced entities — start here._

- **AppSettings** (class) — referenced 554×
- **EntityBase** (class) — referenced 355×
- **PamsLinqDataContext** (class) — referenced 353×
- **AppSettings** (class) — referenced 291×
- **BaseController** (controller) — referenced 219×
- **AuthService** (class) — referenced 218×
- **SubscriptionPackagesEnum** (enum) — referenced 172×
- **AlertsService** (class) — referenced 171×
- **SharedPopupComponent** (component) — referenced 170×
- **Widget** (class) — referenced 118×

## Subsystems

Ordered by how much of the rest of the system depends on them, not by how much code they
contain. A small module many things import shapes this codebase more than a large one nothing
imports.

| Subsystem | Depended on by | Entities | Starts at |
|---|---|---|---|
| **Pams** | 9 | 7051 | `AuthenticatedController`, `BaseController` |
| **Auth** | 6 | 22 | `Auth`, `PamsAuthResponse` |
| **Attachement** | 3 | 23 | `Attachement`, `OutlookAttachment` |
| **Calendar** | 1 | 76 | `Calendar`, `EventBody` |
| **Activity** | 1 | 17 | `Activity`, `ActivityTypesEnum` |
| **Contacts** | 1 | 9 | `Contact`, `ContactPersonReference` |
| **Frontend** | 0 | 1661 | `AppRoutingModule`, `TranslateHandler` |
| **Pams Web** | 0 | 166 | `AppRoutingModule`, `AppModule` |
| **Outlook Plugin** | 0 | 483 | `Microsoft Graph API 429 Error Fix`, `Deployment Readiness Checklist for Pams Outlook Add-in` |
| **Azure Dns Migration** | 0 | 319 | `Azure DNS Migration - Quick Start Guide`, `Azure DNS Migration for pams.net` |

`Pams`, `Outlook Plugin`, `Azure Dns Migration` depend on no other subsystem here — they are the leaves.

## How this code is named

These conventions cover most of the codebase. Learning them is faster than reading an index —
each one lets you find any member of its family without looking it up.

| Pattern | Where | Count | Examples |
|---|---|---|---|
| `*.component.ts` | across the repository | 777 | `app.component.ts`, `tag.component.ts`, `new.component.ts`, `home.component.ts` |
| `*.service.ts` | across the repository | 471 | `mrq.service.ts`, `msl.service.ts`, `app.service.ts`, `mrm.service.ts` |
| `*.model.ts` | across the repository | 433 | `job.model.ts`, `city.model.ts`, `tags.model.ts`, `unit.model.ts` |
| `*.model.cs` | across the repository | 135 | `City.Model.cs`, `Tags.Model.cs`, `Role.Model.cs`, `Task.Model.cs` |
| `*.module.ts` | across the repository | 74 | `app.module.ts`, `mrq.module.ts`, `auth.module.ts`, `core.module.ts` |
| `create*` | exported symbols | 42 | `createSimpleEvent`, `createAllDayEvent`, `createTranslateLoader`, `createWeeklyRecurringEvent` |
