# SalesOrderController

**Kind:** Controller

**Source:** `Pams/API/Pams.API/Controllers/Sales/SalesOrderController.cs` (line 16)

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

## Where it refuses work

- `SalesOrderController` stops the work with `HttpResponseException` when `!orderEntity.HasObject`.
- `SalesOrderController` stops the work with `HttpResponseException` when `!jobEntity.HasObject`.
- `SalesOrderController` stops the work with `HttpResponseException` when `!new Business.Component.NewSales.SalesJobLogic().IsUserAllowedToPrint(branchId, userId)`.
- `SalesOrderController` stops the work with `HttpResponseException` when `dataStream == null`.
- `SalesOrderController` stops the work with an early return when `!entity.HasObject`, in 7 places.
- `SalesOrderController` stops the work with an early return when `!isFound`, in 5 places.

## Relationships

- MODULE_DECLARES → `GetOrdersByBranch`
- MODULE_DECLARES → `GetOrdersByJobId`
- MODULE_DECLARES → `GetOrderById`
- MODULE_DECLARES → `GetOrderWithAllDetailesById`
- MODULE_DECLARES → `GetCancelReasonById`
- MODULE_DECLARES → `GetRejectReasonById`
- MODULE_DECLARES → `CreateOrder`
- MODULE_DECLARES → `UpdateOrder`
- MODULE_DECLARES → `RequestPrices`
- MODULE_DECLARES → `UpdateSalesOrderStage`
- MODULE_DECLARES → `SaveNote`
- MODULE_DECLARES → `SaveOrderConditions`
- MODULE_DECLARES → `DeleteAmedmentOrder`
- MODULE_DECLARES → `UpdateCancelReason`
- MODULE_DECLARES → `UpdateRejectReason`
- MODULE_DECLARES → `DeliverSalesOrder`
- MODULE_DECLARES → `DeliverShipedOrder`
- MODULE_DECLARES → `UnDeliverShipedOrder`
- MODULE_DECLARES → `ConvertSalesOfferToOrder`
- MODULE_DECLARES → `RejectSalesOrder`
- MODULE_DECLARES → `CancelSalesOrder`
- MODULE_DECLARES → `UndoRejectSalesOrder`
- MODULE_DECLARES → `UndoCancelSalesOrder`
- MODULE_DECLARES → `ApproveArchiveRequest`
- MODULE_DECLARES → `RejectArchiveRequest`
- MODULE_DECLARES → `EmailPotentialToPrincipal`
- MODULE_DECLARES → `PrintWordOrder`
- IMPORTS → `BaseController`
- IMPORTS → `SalesOrderBindingModel`
- IMPORTS → `GetCancelReasonById`
- IMPORTS → `GetCancelReasonById`
- IMPORTS → `GetCancelReasonById`
- IMPORTS → `GetRejectReasonById`
- IMPORTS → `RequestPrices`
- IMPORTS → `SalesNoteDto`
- IMPORTS → `Delete`
- IMPORTS → `Delete`
- IMPORTS → `Delete`
- IMPORTS → `Delete`
- IMPORTS → `Delete`
- IMPORTS → `Delete`
- IMPORTS → `Delete`
- IMPORTS → `Delete`
- IMPORTS → `Delete`
- IMPORTS → `Delete`
- IMPORTS → `DeleteDto`
- IMPORTS → `UpdateCancelReason`
- IMPORTS → `UpdateCancelReason`
- IMPORTS → `UpdateCancelReason`
- IMPORTS → `CancelDetailBindingModel`
- IMPORTS → `SalesOrderCancelDetail`
- IMPORTS → `RejectDetailBindingModel`
- IMPORTS → `SalesOrderRejectDetail`
- IMPORTS → `UpcomingPrincipalInvoice`
- IMPORTS → `Create`
- IMPORTS → `ApproveArchiveRequest`
- IMPORTS → `ApproveArchiveRequest`
- IMPORTS → `RejectArchiveRequest`
- IMPORTS → `RejectArchiveRequest`
- IMPORTS → `EmailPotentialToPrincipal`
- IMPORTS → `PrintWord`
- IMPORTS → `GetJobById`

## 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
