
# IEDMS_TaskService interface

*No description yet.*

```csharp
public interface IEDMS_TaskService
```

**Namespace:** DXP · **Assembly:** Altium.SDK.Interfaces

## Methods

| Method | Returns | Description |
| --- | --- | --- |
| [AddAssignmentRule](#addassignmentrule) | `bool` |  |
| [AddAssignmentRules](#addassignmentrules) | `bool` |  |
| [AddComment](#addcomment) | `bool` |  |
| [AddTask](#addtask) | `bool` |  |
| [AddTaskBase](#addtaskbase) | `bool` |  |
| [AddTaskBaseExt](#addtaskbaseext) | `bool` |  |
| [ApproveTask](#approvetask) | `bool` |  |
| [CancelTask](#canceltask) | `bool` |  |
| [CreateSearchParams](#createsearchparams) | [IEDMS_TaskSearchParams](https://altiumdeveloper.github.io/ad-sdk-docs/reference/dxp/IEDMS_TaskSearchParams.md) |  |
| [CreateTaskBase](#createtaskbase) | [IEDMS_TaskBase](https://altiumdeveloper.github.io/ad-sdk-docs/reference/dxp/IEDMS_TaskBase.md) |  |
| [DeleteAssignmentRule](#deleteassignmentrule) | `bool` |  |
| [DeleteAssignmentRules](#deleteassignmentrules) | `bool` |  |
| [GetAllowedAssigns](#getallowedassigns) | `bool` |  |
| [GetAssignmentRules](#getassignmentrules) | `bool` |  |
| [GetAttachmentsList](#getattachmentslist) | `bool` |  |
| [GetBeginUploadAttachmentURL](#getbeginuploadattachmenturl) | `string` |  |
| [GetCustomStates](#getcustomstates) | `bool` |  |
| [GetDownloadAttachmentURL](#getdownloadattachmenturl) | `string` |  |
| [GetLifecycleTasks](#getlifecycletasks) | `bool` |  |
| [GetPartRequestTasks](#getpartrequesttasks) | `bool` |  |
| [GetPossibleActions](#getpossibleactions) | `bool` |  |
| [GetTaskStream](#gettaskstream) | `bool` |  |
| [GetUploadAttachmentURL](#getuploadattachmenturl) | `string` |  |
| [LifecycleTasksIsExists](#lifecycletasksisexists) | `bool` |  |
| [RejectTask](#rejecttask) | `bool` |  |
| [SetCustomStates](#setcustomstates) | `bool` |  |
| [UpdateAssignmentRule](#updateassignmentrule) | `bool` |  |
| [UpdateAssignmentRules](#updateassignmentrules) | `bool` |  |
| [UpdateTaskBase](#updatetaskbase) | `bool` |  |
| [UpdateTaskBaseExt](#updatetaskbaseext) | `bool` |  |

### AddAssignmentRule

*No description yet.*

```csharp
bool AddAssignmentRule(IEDMS_TaskAssignmentRule argRule, out string argErrorMsg);
bool AddAssignmentRule(object argRule, out string argErrorMsg);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argRule` | [IEDMS_TaskAssignmentRule](https://altiumdeveloper.github.io/ad-sdk-docs/reference/dxp/IEDMS_TaskAssignmentRule.md) | value |
| `argErrorMsg` | `string` | out |

**Returns:** `bool`

The first overload is an extension method of `IEDMS_TaskServiceHelper` (`using DXP;`) with typed parameters; the second is declared by the interface.

### AddAssignmentRules

*No description yet.*

```csharp
bool AddAssignmentRules(IEDMS_TaskAssignmentRuleList argRules, out string argErrorMsg);
bool AddAssignmentRules(object argRules, out string argErrorMsg);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argRules` | [IEDMS_TaskAssignmentRuleList](https://altiumdeveloper.github.io/ad-sdk-docs/reference/dxp/IEDMS_TaskAssignmentRuleList.md) | value |
| `argErrorMsg` | `string` | out |

**Returns:** `bool`

The first overload is an extension method of `IEDMS_TaskServiceHelper` (`using DXP;`) with typed parameters; the second is declared by the interface.

### AddComment

*No description yet.*

```csharp
bool AddComment(string argTaskGUID, string argMessage, out string argErrorMsg);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argTaskGUID` | `string` | value |
| `argMessage` | `string` | value |
| `argErrorMsg` | `string` | out |

**Returns:** `bool`

### AddTask

*No description yet.*

```csharp
bool AddTask(string argRevisionGUID, string argTransitionGuid, string argDescription, out string argErrorMsg);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argRevisionGUID` | `string` | value |
| `argTransitionGuid` | `string` | value |
| `argDescription` | `string` | value |
| `argErrorMsg` | `string` | out |

**Returns:** `bool`

### AddTaskBase

*No description yet.*

```csharp
bool AddTaskBase(IEDMS_TaskBase argTaskBase, out string argErrorMsg);
bool AddTaskBase(object argTaskBase, out string argErrorMsg);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argTaskBase` | [IEDMS_TaskBase](https://altiumdeveloper.github.io/ad-sdk-docs/reference/dxp/IEDMS_TaskBase.md) | value |
| `argErrorMsg` | `string` | out |

**Returns:** `bool`

The first overload is an extension method of `IEDMS_TaskServiceHelper` (`using DXP;`) with typed parameters; the second is declared by the interface.

### AddTaskBaseExt

*No description yet.*

```csharp
bool AddTaskBaseExt(IEDMS_TaskBase argTaskBaseSource, out IEDMS_TaskExt argTaskBaseExtResult, out string argErrorMsg);
bool AddTaskBaseExt(object argTaskBaseSource, out IEDMS_TaskExt argTaskBaseExtResult, out string argErrorMsg);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argTaskBaseSource` | [IEDMS_TaskBase](https://altiumdeveloper.github.io/ad-sdk-docs/reference/dxp/IEDMS_TaskBase.md) | value |
| `argTaskBaseExtResult` | [IEDMS_TaskExt](https://altiumdeveloper.github.io/ad-sdk-docs/reference/dxp/IEDMS_TaskExt.md) | out |
| `argErrorMsg` | `string` | out |

**Returns:** `bool`

The first overload is an extension method of `IEDMS_TaskServiceHelper` (`using DXP;`) with typed parameters; the second is declared by the interface.

### ApproveTask

*No description yet.*

```csharp
bool ApproveTask(string argTaskGUID, string argDescription, out string argErrorMsg);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argTaskGUID` | `string` | value |
| `argDescription` | `string` | value |
| `argErrorMsg` | `string` | out |

**Returns:** `bool`

### CancelTask

*No description yet.*

```csharp
bool CancelTask(string argTaskGUID, string argDescription, out string argErrorMsg);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argTaskGUID` | `string` | value |
| `argDescription` | `string` | value |
| `argErrorMsg` | `string` | out |

**Returns:** `bool`

### CreateSearchParams

*No description yet.*

```csharp
IEDMS_TaskSearchParams CreateSearchParams();
```

**Returns:** [IEDMS_TaskSearchParams](https://altiumdeveloper.github.io/ad-sdk-docs/reference/dxp/IEDMS_TaskSearchParams.md)

Extension method of `IEDMS_TaskServiceHelper` (`using DXP;`).

**Examples:** [Extension_PartRequest](https://github.com/AltiumDeveloper/ad-sdk-examples/blob/5b144f54740a53ec578b3b6c3f902b831e0b1144/Extension_PartRequest/Source%20Code/Commands.cs#L27)

### CreateTaskBase

*No description yet.*

```csharp
IEDMS_TaskBase CreateTaskBase();
```

**Returns:** [IEDMS_TaskBase](https://altiumdeveloper.github.io/ad-sdk-docs/reference/dxp/IEDMS_TaskBase.md)

Extension method of `IEDMS_TaskServiceHelper` (`using DXP;`).

### DeleteAssignmentRule

*No description yet.*

```csharp
bool DeleteAssignmentRule(string argRuleGUID, out string argErrorMsg);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argRuleGUID` | `string` | value |
| `argErrorMsg` | `string` | out |

**Returns:** `bool`

### DeleteAssignmentRules

*No description yet.*

```csharp
bool DeleteAssignmentRules(string argRulesGUIDs, out string argErrorMsg);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argRulesGUIDs` | `string` | value |
| `argErrorMsg` | `string` | out |

**Returns:** `bool`

### GetAllowedAssigns

*No description yet.*

```csharp
bool GetAllowedAssigns(string argTaskGUID, TTaskType argTaskType, out IEDMS_TaskAllowedAssigns argAllowedAssigns, out string argErrorMsg);
bool GetAllowedAssigns(string argTaskGUID, int argTaskType, out IEDMS_TaskAllowedAssigns argAllowedAssigns, out string argErrorMsg);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argTaskGUID` | `string` | value |
| `argTaskType` | [TTaskType](https://altiumdeveloper.github.io/ad-sdk-docs/reference/dxp/TTaskType.md) | value |
| `argAllowedAssigns` | [IEDMS_TaskAllowedAssigns](https://altiumdeveloper.github.io/ad-sdk-docs/reference/dxp/IEDMS_TaskAllowedAssigns.md) | out |
| `argErrorMsg` | `string` | out |

**Returns:** `bool`

The first overload is an extension method of `IEDMS_TaskServiceHelper` (`using DXP;`) with typed parameters; the second is declared by the interface.

### GetAssignmentRules

*No description yet.*

```csharp
bool GetAssignmentRules(TTaskType argTaskType, string argObjectGUID, out IEDMS_TaskAssignmentRuleList argRules, out string argErrorMsg);
bool GetAssignmentRules(int argTaskType, string argObjectGUID, out IEDMS_TaskAssignmentRuleList argRules, out string argErrorMsg);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argTaskType` | [TTaskType](https://altiumdeveloper.github.io/ad-sdk-docs/reference/dxp/TTaskType.md) | value |
| `argObjectGUID` | `string` | value |
| `argRules` | [IEDMS_TaskAssignmentRuleList](https://altiumdeveloper.github.io/ad-sdk-docs/reference/dxp/IEDMS_TaskAssignmentRuleList.md) | out |
| `argErrorMsg` | `string` | out |

**Returns:** `bool`

The first overload is an extension method of `IEDMS_TaskServiceHelper` (`using DXP;`) with typed parameters; the second is declared by the interface.

### GetAttachmentsList

*No description yet.*

```csharp
bool GetAttachmentsList(string argTaskGUID, out IEDMS_DictionaryWideString argFileList, out string argErrorMsg);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argTaskGUID` | `string` | value |
| `argFileList` | [IEDMS_DictionaryWideString](https://altiumdeveloper.github.io/ad-sdk-docs/reference/dxp/IEDMS_DictionaryWideString.md) | out |
| `argErrorMsg` | `string` | out |

**Returns:** `bool`

### GetBeginUploadAttachmentURL

*No description yet.*

```csharp
string GetBeginUploadAttachmentURL();
```

**Returns:** `string`

### GetCustomStates

*No description yet.*

```csharp
bool GetCustomStates(out IEDMS_TaskStateList argTaskStateList, out string argErrorMsg);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argTaskStateList` | [IEDMS_TaskStateList](https://altiumdeveloper.github.io/ad-sdk-docs/reference/dxp/IEDMS_TaskStateList.md) | out |
| `argErrorMsg` | `string` | out |

**Returns:** `bool`

### GetDownloadAttachmentURL

*No description yet.*

```csharp
string GetDownloadAttachmentURL(string argAtachGuid);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argAtachGuid` | `string` | value |

**Returns:** `string`

### GetLifecycleTasks

*No description yet.*

```csharp
bool GetLifecycleTasks(out IInterfaceList argTasksItemExtList, out string argErrorMsg, ref IEDMS_TaskSearchParams argSearchParams, bool argIncludeStream);
bool GetLifecycleTasks(out IInterfaceList argTasksItemExtList, out string argErrorMsg, ref object argSearchParams, bool argIncludeStream);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argTasksItemExtList` | [IInterfaceList](https://altiumdeveloper.github.io/ad-sdk-docs/reference/dxp/IInterfaceList.md) | out |
| `argErrorMsg` | `string` | out |
| `argSearchParams` | [IEDMS_TaskSearchParams](https://altiumdeveloper.github.io/ad-sdk-docs/reference/dxp/IEDMS_TaskSearchParams.md) | ref |
| `argIncludeStream` | `bool` | value |

**Returns:** `bool`

The first overload is an extension method of `IEDMS_TaskServiceHelper` (`using DXP;`) with typed parameters; the second is declared by the interface.

### GetPartRequestTasks

*No description yet.*

```csharp
bool GetPartRequestTasks(out IInterfaceList argTasksItemExtList, out string argErrorMsg, ref IEDMS_TaskSearchParams argSearchParams);
bool GetPartRequestTasks(out IInterfaceList argTasksItemExtList, out string argErrorMsg, ref object argSearchParams);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argTasksItemExtList` | [IInterfaceList](https://altiumdeveloper.github.io/ad-sdk-docs/reference/dxp/IInterfaceList.md) | out |
| `argErrorMsg` | `string` | out |
| `argSearchParams` | [IEDMS_TaskSearchParams](https://altiumdeveloper.github.io/ad-sdk-docs/reference/dxp/IEDMS_TaskSearchParams.md) | ref |

**Returns:** `bool`

The first overload is an extension method of `IEDMS_TaskServiceHelper` (`using DXP;`) with typed parameters; the second is declared by the interface.

**Examples:** [Extension_PartRequest](https://github.com/AltiumDeveloper/ad-sdk-examples/blob/5b144f54740a53ec578b3b6c3f902b831e0b1144/Extension_PartRequest/Source%20Code/Commands.cs#L38)

### GetPossibleActions

*No description yet.*

```csharp
bool GetPossibleActions(string argObjectGUID, TTaskType argTaskType, out IEDMS_TaskUserActionList argTaskUserActionList, out string argErrorMsg);
bool GetPossibleActions(string argObjectGUID, int argTaskType, out IEDMS_TaskUserActionList argTaskUserActionList, out string argErrorMsg);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argObjectGUID` | `string` | value |
| `argTaskType` | [TTaskType](https://altiumdeveloper.github.io/ad-sdk-docs/reference/dxp/TTaskType.md) | value |
| `argTaskUserActionList` | [IEDMS_TaskUserActionList](https://altiumdeveloper.github.io/ad-sdk-docs/reference/dxp/IEDMS_TaskUserActionList.md) | out |
| `argErrorMsg` | `string` | out |

**Returns:** `bool`

The first overload is an extension method of `IEDMS_TaskServiceHelper` (`using DXP;`) with typed parameters; the second is declared by the interface.

### GetTaskStream

*No description yet.*

```csharp
bool GetTaskStream(string argTaskGUID, out IEDMS_TaskStreamList argTaskStreamList, out string argErrorMsg);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argTaskGUID` | `string` | value |
| `argTaskStreamList` | [IEDMS_TaskStreamList](https://altiumdeveloper.github.io/ad-sdk-docs/reference/dxp/IEDMS_TaskStreamList.md) | out |
| `argErrorMsg` | `string` | out |

**Returns:** `bool`

### GetUploadAttachmentURL

*No description yet.*

```csharp
string GetUploadAttachmentURL();
```

**Returns:** `string`

### LifecycleTasksIsExists

*No description yet.*

```csharp
bool LifecycleTasksIsExists(out string argErrorMsg, out int argTasksCount);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argErrorMsg` | `string` | out |
| `argTasksCount` | `int` | out |

**Returns:** `bool`

### RejectTask

*No description yet.*

```csharp
bool RejectTask(string argTaskGUID, string argDescription, out string argErrorMsg);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argTaskGUID` | `string` | value |
| `argDescription` | `string` | value |
| `argErrorMsg` | `string` | out |

**Returns:** `bool`

### SetCustomStates

*No description yet.*

```csharp
bool SetCustomStates(IEDMS_TaskStateList argCustomStates, out string argErrorMsg);
bool SetCustomStates(object argCustomStates, out string argErrorMsg);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argCustomStates` | [IEDMS_TaskStateList](https://altiumdeveloper.github.io/ad-sdk-docs/reference/dxp/IEDMS_TaskStateList.md) | value |
| `argErrorMsg` | `string` | out |

**Returns:** `bool`

The first overload is an extension method of `IEDMS_TaskServiceHelper` (`using DXP;`) with typed parameters; the second is declared by the interface.

### UpdateAssignmentRule

*No description yet.*

```csharp
bool UpdateAssignmentRule(IEDMS_TaskAssignmentRule argRule, out string argErrorMsg);
bool UpdateAssignmentRule(object argRule, out string argErrorMsg);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argRule` | [IEDMS_TaskAssignmentRule](https://altiumdeveloper.github.io/ad-sdk-docs/reference/dxp/IEDMS_TaskAssignmentRule.md) | value |
| `argErrorMsg` | `string` | out |

**Returns:** `bool`

The first overload is an extension method of `IEDMS_TaskServiceHelper` (`using DXP;`) with typed parameters; the second is declared by the interface.

### UpdateAssignmentRules

*No description yet.*

```csharp
bool UpdateAssignmentRules(IEDMS_TaskAssignmentRuleList argRules, out string argErrorMsg);
bool UpdateAssignmentRules(object argRules, out string argErrorMsg);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argRules` | [IEDMS_TaskAssignmentRuleList](https://altiumdeveloper.github.io/ad-sdk-docs/reference/dxp/IEDMS_TaskAssignmentRuleList.md) | value |
| `argErrorMsg` | `string` | out |

**Returns:** `bool`

The first overload is an extension method of `IEDMS_TaskServiceHelper` (`using DXP;`) with typed parameters; the second is declared by the interface.

### UpdateTaskBase

*No description yet.*

```csharp
bool UpdateTaskBase(IEDMS_TaskBase argTaskBase, out string argErrorMsg);
bool UpdateTaskBase(object argTaskBase, out string argErrorMsg);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argTaskBase` | [IEDMS_TaskBase](https://altiumdeveloper.github.io/ad-sdk-docs/reference/dxp/IEDMS_TaskBase.md) | value |
| `argErrorMsg` | `string` | out |

**Returns:** `bool`

The first overload is an extension method of `IEDMS_TaskServiceHelper` (`using DXP;`) with typed parameters; the second is declared by the interface.

### UpdateTaskBaseExt

*No description yet.*

```csharp
bool UpdateTaskBaseExt(IEDMS_TaskBase argTaskBaseSource, out IEDMS_TaskExt argTaskBaseExtResult, out string argErrorMsg);
bool UpdateTaskBaseExt(object argTaskBaseSource, out IEDMS_TaskExt argTaskBaseExtResult, out string argErrorMsg);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argTaskBaseSource` | [IEDMS_TaskBase](https://altiumdeveloper.github.io/ad-sdk-docs/reference/dxp/IEDMS_TaskBase.md) | value |
| `argTaskBaseExtResult` | [IEDMS_TaskExt](https://altiumdeveloper.github.io/ad-sdk-docs/reference/dxp/IEDMS_TaskExt.md) | out |
| `argErrorMsg` | `string` | out |

**Returns:** `bool`

The first overload is an extension method of `IEDMS_TaskServiceHelper` (`using DXP;`) with typed parameters; the second is declared by the interface.

## Returned by

[IEDMS_DXPServerManager.GetTaskService](https://altiumdeveloper.github.io/ad-sdk-docs/reference/dxp/IEDMS_DXPServerManager.md#gettaskservice)

## Examples

Used in the SDK examples: [Extension_PartRequest](https://github.com/AltiumDeveloper/ad-sdk-examples/blob/5b144f54740a53ec578b3b6c3f902b831e0b1144/Extension_PartRequest/Source%20Code/Commands.cs#L26).
