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.

Response

Data Type Description

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;