> For the complete documentation index, see [llms.txt](https://swonh.gitbook.io/sdmp-user-manual-eng/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://swonh.gitbook.io/sdmp-user-manual-eng/general-module/user-controls/datacontrol.md).

# DataControl

Controls for functions related to data processing

### 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;
}
```
