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

# Class VdpService

> **Inheritance:** `System.Object` -> VdpService

###### **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 class VdpService : IVdpService
```

## Implements

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

## Inherited Members

* `System.Object.ToString`
* `System.Object.Equals(System.Object)`
* `System.Object.Equals(System.Object,System.Object)`
* `System.Object.ReferenceEquals(System.Object,System.Object)`
* `System.Object.GetHashCode`
* `System.Object.GetType`
* `System.Object.MemberwiseClone`

## Constructors

### VdpService

```csharp
public VdpService(IVdpProductBuilder vdpProductBuilder, IVdpDataSerializer vdpDataSerializer, IItemsDataValidator itemsDataValidator)
```

## Methods

### ApplyStateVdpData

```csharp
public 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
public 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
public 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
public 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
public 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)

### GetCombinedVdpProductFromState

```csharp
public 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

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

### GetCombinedVdpProductFromStateAsync

```csharp
public 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
public 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
public 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
public 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* |  |
