# DataControl

### GetData:star:

```csharp
public override IData GetData()
```

#### Definition

Define the data required to run the solver.

#### Return

<table><thead><tr><th width="116">Type</th><th width="486">Description</th><th>Default</th></tr></thead><tbody><tr><td>IData</td><td>Data required during the process of running the solver.</td><td>Null</td></tr></tbody></table>

#### Example

```csharp
public override IData GetData()
{
    IData data = DataHelper.CreateData();

    return data;
}
```

See `CreateData` function in `DataHelper` below.

```csharp
public static IData CreateData() 
{
    CRPData data = new CRPData();

    data.SetupCostMatrix = GetSetupCostMatrix();

    List<CRPJob> jobs = CreateJobs();
    Dictionary<int, CRPConveyor> conveyors = CreateConveyors(jobs);
    CRPFactory factory = CreateFactory(conveyors);
    
    data.CRPFactory = factory;
    return data;
}
```
