# CompanyBranchDepartmentController

**Kind:** Controller

**Source:** `Pams/API/Pams.API/Controllers/Organization/CompanyBranchDepartmentController.cs` (line 29)

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

## Where it refuses work

- `CompanyBranchDepartmentController` stops the work with an early return when `!ModelState.IsValid`, in 3 places.
- `CompanyBranchDepartmentController` stops the work with an early return when `!success`, in 3 places.
- `CompanyBranchDepartmentController` stops the work with an early return when `!item.HasObject`.
- `CompanyBranchDepartmentController` stops the work with an early return when `ct.Exists(CompanyBranchID, model.CompanyBranchDepartmentID, model.Name)`.
- `CompanyBranchDepartmentController` stops the work with an early return when `!CompanyBranchDepartment.HasObject`.
- `CompanyBranchDepartmentController` stops the work with an early return when `sourceElements == null || sourceElements.ImportModels == null || !sourceElements.ImportMo…`.

## When something fails

- `CompanyBranchDepartmentController` handles failure in 23 places: it turns it into a return value in all 23.

## Relationships

- MODULE_DECLARES → `GetByID`
- MODULE_DECLARES → `GetByCompanyBranchID`
- MODULE_DECLARES → `GetAll`
- MODULE_DECLARES → `GetLookup`
- MODULE_DECLARES → `Save`
- MODULE_DECLARES → `Insert`
- MODULE_DECLARES → `Update`
- MODULE_DECLARES → `Delete`
- MODULE_DECLARES → `GetSheet`
- MODULE_DECLARES → `Import`
- MODULE_DECLARES → `CopyTo`
- IMPORTS → `Company`
- IMPORTS → `CompanyBranchDepartment`
- IMPORTS → `BaseController`
- IMPORTS → `CompanyBranchDepartmentBindingModel`
- IMPORTS → `CacheClearFilter`
- IMPORTS → `CompanyBranchDepartmentImportModel`
- IMPORTS → `PostedFile`
- IMPORTS → `CompanyBranchDepartmentImportModelList`

## Used by

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

### calls by (6)

- `EmployeeService` — `Frontend/src/app/services/person/employee.service.ts`:1
- `EmployeeService` — `Pams/Web/Pams.Web/Client/app/services/person/employee.service.ts`:1
- `EmployeeService` — `Pams/Web/Pams.WebApp/Client/app/services/person/employee.service.ts`:1
- `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
