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

# Interface IVdpProductBuilder

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

###### **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 IVdpProductBuilder
```

## Methods

### BuildProductAsync

```csharp
Task<Product> BuildProductAsync(Surface sourceSurface, SurfaceData data)
```

##### Parameters

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

##### Returns

### BuildProductAsync

```csharp
Task<Product> BuildProductAsync(Surface sourceSurface, SurfaceData data, VdpOptions options)
```

##### Parameters

| Type | Name | Description |
|:---|:---|:---|
| [Aurigma.DesignAtoms.Model.Surface](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Model/Surface.md) | *sourceSurface* |  |
| [Aurigma.DesignAtoms.Model.SurfaceData](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Model/SurfaceData.md) | *data* |  |
| [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<Aurigma.DesignAtoms.Model.Product>`

### BuildProductAsync

```csharp
Task<Product> BuildProductAsync(Product sourceProduct, DataSet data)
```

##### Parameters

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

##### Returns

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

### BuildProductAsync

```csharp
Task<Product> BuildProductAsync(Product sourceProduct, DataSet data, VdpOptions options)
```

##### Parameters

| Type | Name | Description |
|:---|:---|:---|
| [Aurigma.DesignAtoms.Model.Product](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Model/Product.md) | *sourceProduct* |  |
| [Aurigma.DesignAtoms.Model.DataSet](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Model/DataSet.md) | *data* |  |
| [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<Aurigma.DesignAtoms.Model.Product>`

### BuildProductsAsync

```csharp
Task<IEnumerable<VdpProductData>> BuildProductsAsync(Product sourceProduct, DataSet data, VdpOptions options, SplitOptions splitOptions)
```

##### Parameters

| Type | Name | Description |
|:---|:---|:---|
| [Aurigma.DesignAtoms.Model.Product](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Model/Product.md) | *sourceProduct* |  |
| [Aurigma.DesignAtoms.Model.DataSet](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Model/DataSet.md) | *data* |  |
| [Aurigma.DesignAtoms.Model.VdpOptions](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Model/VdpOptions.md) | *options* |  |
| [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>>`

### BuildProductAsync

```csharp
Task<Product> BuildProductAsync(Product sourceProduct, ItemsData itemsData)
```

##### Parameters

| Type | Name | Description |
|:---|:---|:---|
| [Aurigma.DesignAtoms.Model.Product](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Model/Product.md) | *sourceProduct* |  |
| [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<Aurigma.DesignAtoms.Model.Product>`

### BuildProductAsync

```csharp
Task<Product> BuildProductAsync(Product sourceProduct, ItemsData itemsData, VdpOptions options)
```

##### Parameters

| Type | Name | Description |
|:---|:---|:---|
| [Aurigma.DesignAtoms.Model.Product](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Model/Product.md) | *sourceProduct* |  |
| [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<Aurigma.DesignAtoms.Model.Product>`

### BuildProduct

```csharp
Product BuildProduct(Surface sourceSurface, SurfaceData data)
```

##### Parameters

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

##### Returns

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

### BuildProduct

```csharp
Product BuildProduct(Surface sourceSurface, SurfaceData data, VdpOptions options)
```

##### Parameters

| Type | Name | Description |
|:---|:---|:---|
| [Aurigma.DesignAtoms.Model.Surface](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Model/Surface.md) | *sourceSurface* |  |
| [Aurigma.DesignAtoms.Model.SurfaceData](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Model/SurfaceData.md) | *data* |  |
| [Aurigma.DesignAtoms.Model.VdpOptions](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Model/VdpOptions.md) | *options* |  |

##### Returns

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

### BuildProduct

```csharp
Product BuildProduct(Product sourceProduct, DataSet data)
```

##### Parameters

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

##### Returns

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

### BuildProduct

```csharp
Product BuildProduct(Product sourceProduct, DataSet data, VdpOptions options)
```

##### Parameters

| Type | Name | Description |
|:---|:---|:---|
| [Aurigma.DesignAtoms.Model.Product](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Model/Product.md) | *sourceProduct* |  |
| [Aurigma.DesignAtoms.Model.DataSet](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Model/DataSet.md) | *data* |  |
| [Aurigma.DesignAtoms.Model.VdpOptions](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Model/VdpOptions.md) | *options* |  |

##### Returns

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

### BuildProduct

```csharp
Product BuildProduct(Product sourceProduct, ItemsData itemsData)
```

##### Parameters

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

##### Returns

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

### BuildProduct

```csharp
Product BuildProduct(Product sourceProduct, ItemsData itemsData, VdpOptions options)
```

##### Parameters

| Type | Name | Description |
|:---|:---|:---|
| [Aurigma.DesignAtoms.Model.Product](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Model/Product.md) | *sourceProduct* |  |
| [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

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