GetData
Description
Returns a TransferResult containing the panelist data in a DataSet. If not using .Net, you should consider using GetDataGeneral instead.
Signature
TransferResult GetData(string key, TransferDefBase transferDef, ResponseToken token)
Parameters
Name | Data Type | Description |
---|---|---|
key |
string required |
The authentication key |
transferDef |
TransferDefBase required |
The transfer definition object. It can be a SimpleTransferDef or a TransferDef object. |
token |
ResponseToken optional |
The response token. |
Example
var communityPanelSoapClient = new CommunityPanelSoapClient();
//Transfer definition is a filter that is passed with the GetData query, which specifies which data to retrieve. There are two types:
// SimpleTransferDef will include all levels/fields in the panel database. Uses where clause to filter the data.
/*
var simpleTransferDef = new SimpleTransferDef
{
ProjectId = PanelProjectId,
IncludeSystemVariables = true,
Where = new WhereClause
{
Item = new BinaryComparison()
{
Type = ComparisonType.LessThan,
Item = new QueryForm
{
Name = "responseid",
},
Item1 = new QueryConstant
{
Value = "300"
}
}
}
};
*/
// TransferDef provides the ability to specify which levels/fields to include
var transferDef = new TransferDef
{
ProjectId = PanelProjectId,
SystemVariables = new SystemVariables
{
// More properties are available, but only these properties are applicable for panel data. Uses where clause to filter the data.
IncludePanelistCreatedDate = true,
IncludePanelistModifiedDate = true,
},
Levels = new[]
{
new TransferLevel
{
LoopId = "responseid",
Fields = new []
{
"email"
}
},
new TransferLevel
{
LoopId = "jobnumber",
AllChildrenForms = true
}
},
Where = new WhereClause
{
Item = new BinaryComparison()
{
Type = ComparisonType.LessThan,
Item = new QueryForm
{
Name = "responseid",
},
Item1 = new QueryConstant
{
Value = "300"
}
}
}
};
ResponseToken responseToken = null;
var panelData = new DataSet();
// Results are paged if records * columns exceed 250000, so run the query in a loop until
// all data has been retrived (responseToken.LastDataSet = true)
do
{
var transferResult = communityPanelSoapClient.GetData(key, transferDef, responseToken);
responseToken = transferResult.ResponseToken;
panelData.Merge(transferResult.Result);
} while (responseToken != null && !responseToken.LastDataSet);
// Do something with panelData;