IDataRetrievalServiceRetrieveBusinessDataAsync Method (ICollectionClientRequest)

Retrieves business data for MetricSet objects according to the specified requests.

Namespace:  Dundas.BI.Data.DataRetrieval
Assembly:  Dundas.BI.Core (in Dundas.BI.Core.dll) Version: 2.0.0.0 (24.4.0.1000)
Syntax
ICollection<DataRetrievalContext> RetrieveBusinessDataAsync(
	ICollection<ClientRequest> requests
)

Parameters

requests
Type: System.Collections.GenericICollectionClientRequest
The requests.

Return Value

Type: ICollectionDataRetrievalContext
A collection of DataRetrievalContext objects corresponding to the requests.
Exceptions
ExceptionCondition
ArgumentExceptionThe requests was or empty.
InvalidSessionExceptionThe caller context is not associated with a valid session.
Examples

This example demonstrates how to create the Dundas BI engine start the Dundas BI engine, log on, retrieve some data from a metric set, and then shutdown the Dundas BI engine.

C#
using Dundas.BI;
using Dundas.BI.AccountServices;
using Dundas.BI.Services;
using Dundas.BI.Data.DataRetrieval;
using Dundas.BI.Data.Parameters;

   ...

// Create the engine.
EngineManager.CreateEngine(
    // Path to the application's data folder. Type: System.String
    @"C:\Program Files\Dundas Data Visualization Inc\Dundas BI\Instances\Instance1\www\BIWebsite\App_Data"
);

try
{
    EngineManager.StartEngine();

    // Create a caller context not associated with any session.
    using(Engine.Current.GetService<ICallerContextService>().CreateAndSetCurrentContext(null))
    {

        LogOnResult logOnResult = Engine.Current.GetService<ILogOnService>().LogOn(
            // The account name. Type: System.String
            "admin",
            // The password. Type: System.String
            "1234",
            // Delete other sessions for the logon to succeed. Type: System.Boolean
            true,
            // Culture to associate with the session, or null to use the default. Type: System.Globalization.CultureInfo
            null
        );

        // Set the current session ID.
        using(Engine.Current.GetService<ICallerContextService>().CurrentContext.SetCurrentSessionId(
            logOnResult.Session.Id
        );

        // Define a metric set ID.
        Guid metricSetId = new Guid("7f8f9aec-758a-4f1d-8e9d-542af346689c");

        // Get the data retrieval service
        IDataRetrievalService dataRetrievalService =
            Engine.Current.GetService<IDataRetrievalService>();

        var dataRetrivalContexts =
            dataRetrievalService.RetrieveBusinessDataAsync(
                new ClientRequest[] 
                { 
                    new ClientRequest(metricSetId, new Collection<ParameterValue>(), string.Empty) 
                }
            );

        // Only have one data retrival request;
        DataRetrievalContext dataRetrivalContext = 
            dataRetrivalContexts.First();

        // Wait for the data retrival to finish.
        dataRetrivalContext.ResultTask.Wait();

        // The data.
        DataCellSet dataCellSet = dataRetrivalContext.Result.Cellset;

    }
}
finally
{
        // Shutdown the engine. 
    EngineManager.ShutdownEngine();
}
See Also