# TaskController

**Kind:** Controller

**Source:** `Pams/API/Pams.API/Controllers/Tasks/TaskController.cs` (line 17)

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

## Where it refuses work

- `TaskController` stops the work with an early return when `item == null`, in 4 places.
- `TaskController` stops the work with an early return when `item.TaskID == 0`, in 2 places.
- `TaskController` stops the work with an early return when `!domain.IsFound(model.ID)`.
- `TaskController` stops the work with an early return when `!isAllowed`.
- `TaskController` stops the work with an early return when `isDeleted`.
- `TaskController` stops the work with an early return when `model == null`.

## When something fails

- `TaskController` handles failure in 3 places: it turns it into a return value in all 3.

## Relationships

- MODULE_DECLARES → `GetByID`
- MODULE_DECLARES → `Delete`
- MODULE_DECLARES → `Save`
- MODULE_DECLARES → `RejectTask`
- MODULE_DECLARES → `Follow`
- MODULE_DECLARES → `GetFollowTypes`
- MODULE_DECLARES → `GetCalendar`
- MODULE_DECLARES → `GetOutlookCalendar`
- MODULE_DECLARES → `ConfirmOutlookCalendarUpToDate`
- MODULE_DECLARES → `CheckOutlookCalendar`
- MODULE_DECLARES → `GetAll`
- MODULE_DECLARES → `GetView`
- MODULE_DECLARES → `GetTaskView`
- MODULE_DECLARES → `GetTaskViewFunnel`
- MODULE_DECLARES → `SearchTasks`
- MODULE_DECLARES → `UpdateTaskStatus`
- MODULE_DECLARES → `Getchilds`
- IMPORTS → `Task`
- IMPORTS → `BaseController`
- IMPORTS → `GetByID`
- IMPORTS → `GetByID`
- IMPORTS → `GetByID`
- IMPORTS → `GetByID`
- IMPORTS → `Delete`
- IMPORTS → `Delete`
- IMPORTS → `Delete`
- IMPORTS → `DeleteDto`
- IMPORTS → `Save`
- IMPORTS → `Save`
- IMPORTS → `Save`
- IMPORTS → `TaskBindingModel`
- IMPORTS → `SignalRModel`
- IMPORTS → `GetAll`
- IMPORTS → `GetAll`
- IMPORTS → `GetAll`
- IMPORTS → `GetAll`
- IMPORTS → `TaskViewBindingModel`
- IMPORTS → `TaskView`
- IMPORTS → `UpdateTaskStatus`

## Used by

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

### calls by (9)

- `NotficationsService` — `Frontend/src/app/components/notifications/notfications.service.ts`:1
- `Calendar` — `Outlook_plugin/src/calendar/calendar.service.ts`:1
- `NotficationsService` — `Pams/Web/Pams.Web/Client/app/components/notifications/notfications.service.ts`:1
- `AppSettings` — `Frontend/src/app/settings/app/app.settings.ts`:241
- `matchingPamsCalendarWithOutlookCalendar` — `Outlook_plugin/src/calendar/calendar.service.backup.ts`:232
- `matchingPamsCalendarWithOutlookCalendar` — `Outlook_plugin/src/calendar/calendar.service.optimized.ts`:267
- `matchingPamsCalendarWithOutlookCalendar` — `Outlook_plugin/src/calendar/calendar.service.pre-optimization.backup.ts`:267
- `AppSettings` — `Pams/Web/Pams.Web/Client/app/settings/app/app.settings.ts`:126

…and 1 more.
