# AccountsController

**Kind:** Controller

**Source:** `Pams/API/Pams.API/Controllers/Person/AccountsController.cs` (line 23)

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

## Where it refuses work

- `AccountsController` stops the work with an early return when `!isSaved`, in 2 places.
- `AccountsController` stops the work with an early return when `isSaved != Business.Entity.EnumNewSales.EnumReturnMessage.SavedSuccessfuly`, in 2 places.
- `AccountsController` stops the work with an early return when `!isFound`, in 2 places.
- `AccountsController` stops the work with an early return when `account == null || !account.HasObject`.
- `AccountsController` stops the work with an early return when `p == null || !p.HasObject`.
- `AccountsController` stops the work with an early return when `model.CompanyBranchId != CompanyBranchID`.

## When something fails

- `AccountsController` handles failure in 13 places: it turns it into a return value in all 13.

## Relationships

- MODULE_DECLARES → `SaveAccountManagerAccountList`
- MODULE_DECLARES → `GetAccountManagerAccountListById`
- MODULE_DECLARES → `GetBranchAccountManagers`
- MODULE_DECLARES → `GetAll`
- MODULE_DECLARES → `GetAccountsWithEmailByTypeId`
- MODULE_DECLARES → `GetContractualInfo`
- MODULE_DECLARES → `getSupplierRegistrationData`
- MODULE_DECLARES → `getSupplierProjectRegistrationData`
- MODULE_DECLARES → `GetAccountByName`
- MODULE_DECLARES → `Get`
- MODULE_DECLARES → `GetAccountsForDisplay`
- MODULE_DECLARES → `getClientRegistrationData`
- MODULE_DECLARES → `GetAccount`
- MODULE_DECLARES → `SaveAccount`
- MODULE_DECLARES → `InsertAccount`
- MODULE_DECLARES → `UpdateAccount`
- MODULE_DECLARES → `SavePrincipalContract`
- MODULE_DECLARES → `delete`
- MODULE_DECLARES → `delete`
- MODULE_DECLARES → `UpdateRegistration`
- MODULE_DECLARES → `DeleteRegistration`
- MODULE_DECLARES → `GetLookupAccountsByBranchId`
- MODULE_DECLARES → `GetAccountEmailAndAddress`
- MODULE_DECLARES → `GetLookupAccountsForSalesReport`
- MODULE_DECLARES → `GetLookupAllByBranchId`
- MODULE_DECLARES → `GetLookupAllByCompanyId`
- MODULE_DECLARES → `ValidateAccountNotExsistInCompany`
- MODULE_DECLARES → `GetAccountContractDetail`
- MODULE_DECLARES → `GetAccountContractList`
- MODULE_DECLARES → `GetAccountRegisterationListAtClients`
- MODULE_DECLARES → `GetAccountRegisterationListAtClientsFunnel`
- MODULE_DECLARES → `GetPrincipalRegistrationListAtProjects`
- MODULE_DECLARES → `GetPrincipalRegistrationListAtProjectsFunnel`
- MODULE_DECLARES → `ShareAccountToBranch`
- MODULE_DECLARES → `InsertAccountFromPopup`
- MODULE_DECLARES → `MergeAccounts`
- MODULE_DECLARES → `GetAccountsAndContactsByEmail`
- IMPORTS → `Person`
- IMPORTS → `BaseController`
- IMPORTS → `AccountManagerAccountListBindingModel`
- IMPORTS → `Supplier`
- IMPORTS → `AccountBindingModel`
- IMPORTS → `CompanyBranch`
- IMPORTS → `SupplierBindingModel`
- IMPORTS → `AccountContractBindingModel`
- IMPORTS → `DecreasedTableBindingModel`
- IMPORTS → `SupplierContractMarketSegment`
- IMPORTS → `SupplierContractMarketSegmentBindingModel`
- IMPORTS → `SupplierClientRegistration`
- IMPORTS → `RegistrationStatus`
- IMPORTS → `ClientBindingModel`
- IMPORTS → `SupplierProjectRegistration`
- IMPORTS → `ContactPersonBindingModel`
- IMPORTS → `ContactPerson`
- IMPORTS → `AccountType`
- IMPORTS → `AddressBindingModel`
- IMPORTS → `Comments`
- IMPORTS → `Files`
- IMPORTS → `ClientSupplierRegistration`
- IMPORTS → `PersonUser`
- IMPORTS → `PersonBindingModel`
- IMPORTS → `Company`
- IMPORTS → `UserLogResultBindingModel`
- IMPORTS → `Address`
- IMPORTS → `ContactInfoBindingModel`
- IMPORTS → `ContactInfo`
- IMPORTS → `ClientsSuppliersRegisteration`
- IMPORTS → `AccountShortBindingModel`
- IMPORTS → `MergeAccountsBindingModel`

## Used by

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

### calls by (27)

- `ContractDataComponent` — `Frontend/src/app/components/contract-data/contract-data.component.ts`:1
- `MyDeskColumnsViewComponent` — `Frontend/src/app/components/dashboard/my-desk/my-desk-columns-view/my-desk-columns-view.component.ts`:1
- `MyDeskComponent` — `Frontend/src/app/components/dashboard/my-desk/my-desk.component.ts`:1
- `AccountManagersListComponent` — `Frontend/src/app/components/market/AccountManagers/account-managers-list/account-managers-list.component.ts`:1
- `AllAccountsComponent` — `Frontend/src/app/components/market/all-accounts/all-accounts.component.ts`:1
- `ClientComponent` — `Frontend/src/app/components/market/client/client/client.component.ts`:1
- `AccountDetailsComponent` — `Frontend/src/app/components/market/account-details/account-details.component.ts`:1
- `MarketModule` — `Frontend/src/app/components/market/market.module.ts`:1

…and 19 more.
