# PersonPhoneController

**Kind:** Controller

**Source:** `Pams/API/Pams.API/Controllers/Person/PersonPhoneController.cs` (line 21)

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

## Where it refuses work

- `PersonPhoneController` stops the work with an early return when `!ModelState.IsValid`, in 2 places.
- `PersonPhoneController` stops the work with an early return when `!phone.Save()`, in 2 places.
- `PersonPhoneController` stops the work with an early return when `!eml.HasObject`.
- `PersonPhoneController` stops the work with an early return when `!eml.Delete()`.

## When something fails

- `PersonPhoneController` handles failure in 8 places: it turns it into a return value in all 8.

## Relationships

- MODULE_DECLARES → `GetByPersonID`
- MODULE_DECLARES → `insert`
- MODULE_DECLARES → `update`
- MODULE_DECLARES → `delete`
- IMPORTS → `Person`
- IMPORTS → `PersonPhone`
- IMPORTS → `BaseController`
- IMPORTS → `Employee`
- IMPORTS → `GetByPersonID`
- IMPORTS → `GetByPersonID`
- IMPORTS → `Save`

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