# Employee

**Kind:** Class

**Source:** `Pams/Web/Pams.WebApp/Client/app/models/person/employee.model.ts` (line 5)

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

`Employee` represents an employee person model in the PAMS web client. It stores employee-related state and supports creating an independent copy through `clone()`.

## Methods

| Method | Signature | Returns |
|---|---|---|
| `clone` | `clone()` | `Employee` |

## Properties

| Property | Type |
|---|---|
| `EmployeeID` | `number` |
| `PersonID` | `number` |
| `CompanyBranchID` | `number` |
| `NationalityCode` | `string` |
| `Gender` | `number` |
| `BirthDate` | `Date` |
| `MaritalStatus` | `number` |
| `DisplayName` | `string` |
| `HireDate` | `Date` |
| `LeaveDate` | `Date` |
| `CompanyBranchDepartmentID` | `number` |
| `ManagerID` | `number` |
| `EmployeeTypeID` | `number` |
| `Postion` | `string` |
| `ImgPath` | `string` |
| `IsResponsible` | `boolean` |
| `PersonData` | `Person` |
| `Addresses` | `Address[]` |
| `ContactInfoList` | `Array<ContactInfo>` |

## Diagram

```mermaid
graph LR
  Employee[Employee]
  Employee --> Clone[clone(): Employee]
  Clone --> Copy[Independent Employee copy]
```

## Usage

```ts
import { Employee } from './models/person/employee.model';

const employee = new Employee();
const copiedEmployee = employee.clone();

// Update the copy without changing the original instance.
```

## AI Coding Instructions

- Use `clone()` when a workflow needs a separate `Employee` instance before editing data.
- Keep clone behavior aligned with `Employee` properties when fields are added or changed.
- Do not assume the cloned object shares mutable nested values unless the implementation copies them.
- Import `Employee` from the person models path used by the client application.

## Relationships

- IMPORTS → `Address`

## Used by

1 reference from 1 file. Each is a place in this repository where the symbol is actually used — go read one rather than trusting an example.

### Imported by (1)

- `EmployeeService` — `Pams/Web/Pams.WebApp/Client/app/services/person/employee.service.ts`:1
