---
title: "Interface IVdpService | Customer's Canvas On-Premises"
canonical: "https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.VDP/IVdpService/"
---

# Interface IVdpService

> [Aurigma.DesignAtoms.Model.Product](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Model/Product.md)

###### **Namespace**: [Aurigma.DesignAtoms.VDP](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.VDP.md)

###### **Assembly**: Aurigma.DesignAtoms.dll

```csharp title="Syntax"
public interface IVdpService
```

## Methods

### GetCombinedVdpProductFromState

```csharp
Product GetCombinedVdpProductFromState(State state)
```

##### Parameters

| Type | Name | Description |
|:---|:---|:---|
| [Aurigma.DesignAtoms.Model.State](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Model/State.md) | *state* |  |

##### Returns

### GetCombinedVdpProductFromStateAsync

```csharp
Task<Product> GetCombinedVdpProductFromStateAsync(State state)
```

##### Parameters

| Type | Name | Description |
|:---|:---|:---|
| [Aurigma.DesignAtoms.Model.State](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Model/State.md) | *state* |  |

##### Returns

`System.Threading.Tasks.Task<Aurigma.DesignAtoms.Model.Product>`

### GetVdpProductsFromStateAsync

```csharp
Task<IEnumerable<VdpProductData>> GetVdpProductsFromStateAsync(State state, SplitOptions splitOptions)
```

##### Parameters

| Type | Name | Description |
|:---|:---|:---|
| [Aurigma.DesignAtoms.Model.State](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Model/State.md) | *state* |  |
| [Aurigma.DesignAtoms.VDP.SplitOptions](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.VDP/SplitOptions.md) | *splitOptions* |  |

##### Returns

`System.Threading.Tasks.Task<System.Collections.Generic.IEnumerable<Aurigma.DesignAtoms.VDP.VdpProductData>>`

### SetStateVdpData

```csharp
void SetStateVdpData(State spState, DataSet dataSet, ItemsData itemsData)
```

##### Parameters

| Type | Name | Description |
|:---|:---|:---|
| [Aurigma.DesignAtoms.Model.State](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Model/State.md) | *spState* |  |
| [Aurigma.DesignAtoms.Model.DataSet](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Model/DataSet.md) | *dataSet* |  |
| [Aurigma.DesignAtoms.Model.ItemsData](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Model/ItemsData.md) | *itemsData* |  |

### SetStateVdpData

```csharp
void SetStateVdpData(State spState, DataSet dataSet, ItemsData itemsData, VdpOptions options)
```

##### Parameters

| Type | Name | Description |
|:---|:---|:---|
| [Aurigma.DesignAtoms.Model.State](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Model/State.md) | *spState* |  |
| [Aurigma.DesignAtoms.Model.DataSet](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Model/DataSet.md) | *dataSet* |  |
| [Aurigma.DesignAtoms.Model.ItemsData](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Model/ItemsData.md) | *itemsData* |  |
| [Aurigma.DesignAtoms.Model.VdpOptions](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Model/VdpOptions.md) | *options* |  |

### ApplyStateVdpData

```csharp
Task ApplyStateVdpData(State state, bool storeDataInState, DataSet dataSet, ItemsData itemsData)
```

##### Parameters

| Type | Name | Description |
|:---|:---|:---|
| [Aurigma.DesignAtoms.Model.State](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Model/State.md) | *state* |  |
| `System.Boolean` | *storeDataInState* |  |
| [Aurigma.DesignAtoms.Model.DataSet](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Model/DataSet.md) | *dataSet* |  |
| [Aurigma.DesignAtoms.Model.ItemsData](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Model/ItemsData.md) | *itemsData* |  |

##### Returns

`System.Threading.Tasks.Task`

### ApplyStateVdpData

```csharp
Task ApplyStateVdpData(State state, bool storeDataInState, DataSet dataSet, ItemsData itemsData, VdpOptions options)
```

##### Parameters

| Type | Name | Description |
|:---|:---|:---|
| [Aurigma.DesignAtoms.Model.State](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Model/State.md) | *state* |  |
| `System.Boolean` | *storeDataInState* |  |
| [Aurigma.DesignAtoms.Model.DataSet](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Model/DataSet.md) | *dataSet* |  |
| [Aurigma.DesignAtoms.Model.ItemsData](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Model/ItemsData.md) | *itemsData* |  |
| [Aurigma.DesignAtoms.Model.VdpOptions](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Model/VdpOptions.md) | *options* |  |

##### Returns

`System.Threading.Tasks.Task`

### ContainsVdpData

```csharp
bool ContainsVdpData(State state)
```

##### Parameters

| Type | Name | Description |
|:---|:---|:---|
| [Aurigma.DesignAtoms.Model.State](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Model/State.md) | *state* |  |

##### Returns

`System.Boolean`

### GetDataSet

```csharp
DataSet GetDataSet(State state)
```

##### Parameters

| Type | Name | Description |
|:---|:---|:---|
| [Aurigma.DesignAtoms.Model.State](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Model/State.md) | *state* |  |

##### Returns

[Aurigma.DesignAtoms.Model.DataSet](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Model/DataSet.md)

### GetItemsData

```csharp
ItemsData GetItemsData(State state)
```

##### Parameters

| Type | Name | Description |
|:---|:---|:---|
| [Aurigma.DesignAtoms.Model.State](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Model/State.md) | *state* |  |

##### Returns

[Aurigma.DesignAtoms.Model.ItemsData](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Model/ItemsData.md)
