# BillOfMaterialController

**Kind:** Controller

**Source:** `Pams/API/Pams.API/Controllers/PM/BillOfMaterialController.cs` (line 9)

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

## Where it refuses work

- `BillOfMaterialController` stops the work with an early return when `isSaved != Business.Entity.EnumNewSales.EnumReturnMessage.SavedSuccessfuly`, in 2 places.
- `BillOfMaterialController` stops the work with an early return when `!isFound`, in 2 places.
- `BillOfMaterialController` stops the work with an early return when `!logic.IsFound(id, CompanyID)`.
- `BillOfMaterialController` stops the work with an early return when `!logic.IsJobAndBOMFound(id, CompanyID)`.
- `BillOfMaterialController` stops the work with an early return when `userId != CurrentPersonUserID || userBranchId != CompanyBranchID`.
- `BillOfMaterialController` stops the work with an early return when `isDublicated && model.Id == 0`.

## Relationships

- MODULE_DECLARES → `GetById`
- MODULE_DECLARES → `GetBySalesJobId`
- MODULE_DECLARES → `GetProductInStockQty`
- MODULE_DECLARES → `GetSalesOrders`
- MODULE_DECLARES → `GetSalesOrdersFunnel`
- MODULE_DECLARES → `GetSalesDelivered`
- MODULE_DECLARES → `GetSalesDeliveredFunnel`
- MODULE_DECLARES → `GetPlannedProducts`
- MODULE_DECLARES → `GetPlannedProductsFunnel`
- MODULE_DECLARES → `GetPlannedProductsFunnel`
- MODULE_DECLARES → `Save`
- MODULE_DECLARES → `SaveBomProductQty`
- MODULE_DECLARES → `DeleteBOMProducts`
- MODULE_DECLARES → `ModifyActualCostCurrency`
- MODULE_DECLARES → `SplitSalesItemsAndRelatedProducts`
- IMPORTS → `BaseController`
- IMPORTS → `GetById`
- IMPORTS → `GetById`
- IMPORTS → `GetById`
- IMPORTS → `GetById`
- IMPORTS → `GetById`
- IMPORTS → `GetById`
- IMPORTS → `GetBySalesJobId`
- IMPORTS → `BillOfMaterialBindingModel`
- IMPORTS → `Save`
- IMPORTS → `Save`
- IMPORTS → `Delete`
- IMPORTS → `DeleteDto`
- IMPORTS → `SalesItemsToBeSplitted`

## Used by

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

### calls by (2)

- `AppSettings` — `Frontend/src/app/settings/app/app.settings.ts`:241
- `AppSettings` — `Pams/Web/Pams.Web/Client/app/settings/app/app.settings.ts`:126
