# ContactPersonReferenceController

**Kind:** Controller

**Source:** `Pams/API/Pams.API/Controllers/Common/ContactPersonReferenceController.cs` (line 16)

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

## Where it refuses work

- `ContactPersonReferenceController` stops the work with an early return when `!ModelState.IsValid`, in 4 places.
- `ContactPersonReferenceController` stops the work with an early return when `!contactperson.Save()`, in 2 places.
- `ContactPersonReferenceController` stops the work with an early return when `!ok || check != null`.
- `ContactPersonReferenceController` stops the work with an early return when `!ms.HasObject`.
- `ContactPersonReferenceController` stops the work with an early return when `!success`.

## When something fails

- `ContactPersonReferenceController` handles failure in 7 places: it turns it into a return value in all 7.

## Relationships

- MODULE_DECLARES → `GetByContactID`
- MODULE_DECLARES → `GetContacts`
- MODULE_DECLARES → `GetContactsForType`
- MODULE_DECLARES → `Insert`
- MODULE_DECLARES → `Update`
- MODULE_DECLARES → `Save`
- MODULE_DECLARES → `Delete`
- IMPORTS → `ContactPersonReference`
- IMPORTS → `BaseController`
- IMPORTS → `ContactPersonReferenceBindingModel`
- IMPORTS → `ContactPerson`
- IMPORTS → `Insert`
- IMPORTS → `Insert`
- IMPORTS → `Insert`
- IMPORTS → `Insert`
- IMPORTS → `Insert`
- IMPORTS → `Insert`
- IMPORTS → `Insert`
- IMPORTS → `Insert`
- IMPORTS → `Insert`
- IMPORTS → `Insert`
- IMPORTS → `Insert`
- IMPORTS → `Insert`
- IMPORTS → `Insert`
- IMPORTS → `Insert`
- IMPORTS → `Insert`
- IMPORTS → `Insert`
- IMPORTS → `Insert`
- IMPORTS → `Insert`
- IMPORTS → `Insert`
- IMPORTS → `Insert`
- IMPORTS → `Insert`
- IMPORTS → `Insert`
- IMPORTS → `Insert`
- IMPORTS → `Insert`
- IMPORTS → `ContactInfoRelatedType`
- IMPORTS → `Save`
- IMPORTS → `Save`
- IMPORTS → `Save`
- IMPORTS → `Save`
- IMPORTS → `Save`
- IMPORTS → `Save`
- IMPORTS → `Save`
- IMPORTS → `Save`
- IMPORTS → `Save`
- IMPORTS → `Save`
- IMPORTS → `Save`
- IMPORTS → `Save`
- IMPORTS → `Save`
- IMPORTS → `Save`
- IMPORTS → `Save`
- IMPORTS → `Save`
- IMPORTS → `Save`
- IMPORTS → `Save`
- IMPORTS → `Save`
- IMPORTS → `Save`
- IMPORTS → `Save`
- IMPORTS → `Save`
- IMPORTS → `Save`
- IMPORTS → `Save`
- IMPORTS → `Save`
- IMPORTS → `Save`
- IMPORTS → `Save`
- IMPORTS → `Update`
- IMPORTS → `Update`
- IMPORTS → `Update`
- IMPORTS → `Update`
- IMPORTS → `Update`
- IMPORTS → `Update`
- IMPORTS → `Update`
- IMPORTS → `Update`
- IMPORTS → `Update`
- IMPORTS → `Update`
- IMPORTS → `Update`
- IMPORTS → `Update`
- IMPORTS → `Update`
- IMPORTS → `Update`
- IMPORTS → `Update`
- IMPORTS → `Update`
- IMPORTS → `Update`
- IMPORTS → `Update`
- IMPORTS → `Update`
- IMPORTS → `Update`
- IMPORTS → `Update`
- IMPORTS → `Update`
- IMPORTS → `Update`
- IMPORTS → `Update`
- IMPORTS → `Delete`
- IMPORTS → `Delete`
- IMPORTS → `Delete`
- IMPORTS → `Delete`
- IMPORTS → `Delete`
- IMPORTS → `Delete`
- IMPORTS → `Delete`
- IMPORTS → `Delete`
- IMPORTS → `Delete`
- IMPORTS → `Delete`
- IMPORTS → `Delete`
- IMPORTS → `Delete`
- IMPORTS → `Delete`
- IMPORTS → `Delete`
- IMPORTS → `Delete`
- IMPORTS → `Delete`
- IMPORTS → `Delete`
- IMPORTS → `Delete`
- IMPORTS → `Delete`
- IMPORTS → `Delete`
- IMPORTS → `Delete`
- IMPORTS → `Delete`
- IMPORTS → `Delete`
- IMPORTS → `Delete`
- IMPORTS → `Delete`
- IMPORTS → `Delete`
- IMPORTS → `Delete`

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