# ProjectController

**Kind:** Controller

**Source:** `Pams/API/Pams.API/Controllers/Sales/ProjectController.cs` (line 28)

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

## Where it refuses work

- `ProjectController` stops the work with an early return when `!success`, in 6 places.
- `ProjectController` stops the work with an early return when `!ModelState.IsValid`, in 4 places.
- `ProjectController` stops the work with an early return when `checkForDublicate`, in 2 places.
- `ProjectController` stops the work with an early return when `!new ProjectLogic().IsFound(ID, CompanyID)`.
- `ProjectController` stops the work with an early return when `!item.HasObject`.
- `ProjectController` stops the work with an early return when `!entity.Save()`.

## When something fails

- `ProjectController` handles failure in 20 places: it turns it into a return value in all 20.

## Relationships

- MODULE_DECLARES → `GetByID`
- MODULE_DECLARES → `UpdateRegistration`
- MODULE_DECLARES → `DeleteRegistration`
- MODULE_DECLARES → `getAutoCompleteList`
- MODULE_DECLARES → `getRegistrationData`
- MODULE_DECLARES → `SaveProject`
- MODULE_DECLARES → `GetProjectsForDisplay`
- MODULE_DECLARES → `GetProjectJobs`
- MODULE_DECLARES → `GetLookupAllByCompanyId`
- MODULE_DECLARES → `ViewByID`
- MODULE_DECLARES → `GetByCompanyBranchID`
- MODULE_DECLARES → `getProject`
- MODULE_DECLARES → `delete`
- MODULE_DECLARES → `delete`
- MODULE_DECLARES → `GetLookupByPerson`
- MODULE_DECLARES → `Get`
- MODULE_DECLARES → `GetWithOwner`
- MODULE_DECLARES → `ProjectStatus`
- MODULE_DECLARES → `Owners`
- MODULE_DECLARES → `Insert`
- MODULE_DECLARES → `Update`
- MODULE_DECLARES → `Delete`
- MODULE_DECLARES → `GetSheet`
- MODULE_DECLARES → `Import`
- MODULE_DECLARES → `CopyTo`
- MODULE_DECLARES → `GetLookupProject`
- MODULE_DECLARES → `SaveFromPopup`
- IMPORTS → `Project`
- IMPORTS → `BaseController`
- IMPORTS → `GetByID`
- IMPORTS → `GetByID`
- IMPORTS → `GetByID`
- IMPORTS → `GetByID`
- IMPORTS → `GetByID`
- IMPORTS → `ProjectBindingModel`
- IMPORTS → `Comments`
- IMPORTS → `ProjectsSuppliersRegisteration`
- IMPORTS → `ProjectsSuppliersRegisterationBindingModel`
- IMPORTS → `UserLogResultBindingModel`
- IMPORTS → `Person`
- IMPORTS → `Delete`
- IMPORTS → `Delete`
- IMPORTS → `Delete`
- IMPORTS → `Delete`
- IMPORTS → `Delete`
- IMPORTS → `Delete`
- IMPORTS → `Delete`
- IMPORTS → `Delete`
- IMPORTS → `Delete`
- IMPORTS → `Save`
- IMPORTS → `Save`
- IMPORTS → `Save`
- IMPORTS → `Save`
- IMPORTS → `Save`
- IMPORTS → `Save`
- IMPORTS → `Save`
- IMPORTS → `Save`
- IMPORTS → `Save`
- IMPORTS → `GetAll`
- IMPORTS → `GetAll`
- IMPORTS → `GetAll`
- IMPORTS → `GetAll`
- IMPORTS → `GetAll`
- IMPORTS → `GetAll`
- IMPORTS → `GetAll`
- IMPORTS → `GetAll`
- IMPORTS → `GetAll`
- IMPORTS → `GetAll`
- IMPORTS → `ProjectSupplierRegistration`
- IMPORTS → `Status`
- IMPORTS → `RegistrationStatus`
- IMPORTS → `Shareholder`
- IMPORTS → `ProjectRegistered`
- IMPORTS → `ProjectComment`
- IMPORTS → `View_Project`
- IMPORTS → `ShareholdersBindingModel`
- IMPORTS → `ProjectRegisteredBindingModel`
- IMPORTS → `CommentsView`
- IMPORTS → `ContactPersonBindingModel`
- IMPORTS → `ContactInfoBindingModel`
- IMPORTS → `CompanyBranch`
- IMPORTS → `GetLookup`
- IMPORTS → `GetLookup`
- IMPORTS → `GetById`
- IMPORTS → `GetById`
- IMPORTS → `ProjectStatus`
- IMPORTS → `ProjectStatusBindingModel`
- IMPORTS → `Insert`
- IMPORTS → `Insert`
- IMPORTS → `CacheClearFilter`
- IMPORTS → `Update`
- IMPORTS → `Update`
- IMPORTS → `Update`
- IMPORTS → `GetSheet`
- IMPORTS → `GetSheet`
- IMPORTS → `LookUpImportModel`
- IMPORTS → `MarketSegment`
- IMPORTS → `PostedFile`
- IMPORTS → `Create`
- IMPORTS → `ProjectShortBindingModel`

## Used by

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

### calls by (3)

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