# MyDeskService

**Kind:** Class

**Source:** `Pams/Web/Pams.Web/Client/app/services/Tasks/MyDesk.service.ts` (line 34)

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

`MyDeskService` groups client-side calls for My Desk task and dashboard data. It exposes column and child attribute retrieval along with graph requests for sales pipeline, sales invoice, commission invoice, principal invoice, and letters of guarantees.

## Methods

| Method | Signature | Returns |
|---|---|---|
| `GetColumnAttributes` | `GetColumnAttributes(clientID: number, vendorID: number[], projectID: number, resposible: number, contact: number, team: number)` | `void` |
| `GetChildAttributes` | `GetChildAttributes(groupID: undefined, parentID: undefined, clientID: undefined, vendorID: undefined, projectID: undefined, resposible: undefined, contact: undefined, team: undefined)` | `void` |
| `GetMyDiskGraphForSalesPipeline` | `GetMyDiskGraphForSalesPipeline(myDiskFilterObj: MyDiskFilterObj)` | `void` |
| `GetMyDiskGraphForSalesInvoice` | `GetMyDiskGraphForSalesInvoice(myDiskFilterObj: MyDiskFilterObj)` | `void` |
| `GetMyDiskGraphForCommissionInvoice` | `GetMyDiskGraphForCommissionInvoice(myDiskFilterObj: MyDiskFilterObj)` | `void` |
| `GetMyDiskGraphForPrinciplInvoice` | `GetMyDiskGraphForPrinciplInvoice(myDiskFilterObj: MyDiskFilterObj)` | `void` |
| `GetMyDiskGraphForLetterOfGuarantees` | `GetMyDiskGraphForLetterOfGuarantees(myDiskFilterObj: MyDiskFilterObj)` | `void` |

## Properties

| Property | Type |
|---|---|
| `myDiskWidgets` | `Widget[]` |
| `myDiskWidgetsForPrincipalUser` | `Widget[]` |

## Diagram

```mermaid
graph LR
  UI[My Desk UI] --> Service[MyDeskService]
  Service --> Columns[GetColumnAttributes]
  Service --> Children[GetChildAttributes]
  Service --> Pipeline[GetMyDiskGraphForSalesPipeline]
  Service --> SalesInvoice[GetMyDiskGraphForSalesInvoice]
  Service --> CommissionInvoice[GetMyDiskGraphForCommissionInvoice]
  Service --> PrinciplInvoice[GetMyDiskGraphForPrinciplInvoice]
  Service --> Guarantees[GetMyDiskGraphForLetterOfGuarantees]
```

## Usage

```ts
import { MyDeskService } from './services/Tasks/MyDesk.service';

export class MyDeskComponent {
  constructor(private readonly myDeskService: MyDeskService) {}

  loadDeskData() {
    const columnAttributes = this.myDeskService.GetColumnAttributes();
    const childAttributes = this.myDeskService.GetChildAttributes();
    const salesPipelineGraph =
      this.myDeskService.GetMyDiskGraphForSalesPipeline();

    return {
      columnAttributes,
      childAttributes,
      salesPipelineGraph,
    };
  }
}
```

## AI Coding Instructions

- Keep method names and casing unchanged, including the existing `MyDisk` and `Principl` spellings.
- Call `GetColumnAttributes()` and `GetChildAttributes()` when rendering task structures that depend on attribute metadata.
- Select the graph method that matches the active My Desk dashboard area.
- Follow the return-handling pattern already used by nearby services and consuming components.
