fSeries DataSet DLL
This is a dll that operates with the UserService dll to provide access to data gathered using fData from within your own applications.
To make use of this your client application needs the following dlls:
The User Service is a helper class that provides an interface between your application and the fSeries Web Service for the “User” fSeries role.
See https://help.fibonacci.co.uk/development/user-services/ for current documentation on UserService. This shows how to authenticate the user and maintain state with UserService.
UserService has all the methods required to build a client application, including authentication and which options can be offered to the user such as emailing their password, and getting the spec of user entries required for a DSD.
The DataSet class is intended for a customer to develop client software that pulls data from fSeries in an organised structure and then be able to make use of the data in their own application. Note that there is also a Schema class described later that is useful in setting up an application based on the schema that a DSD will return.
To get a data load, specify a set of User Entry values then use the DataSet method to request data to be returned from a specified DSD using the User Entries provided:
fSeries.fData.DataSet ds = UserService.DataSet("Family");
This example gets data using the “Family” DSD having passed to the server a User Entry called “ClientId” with the value “S0055643”.
There are two other methods/properties associated with User Entries:
- ClearUserEntryValue() clears all User Entries added with UserEntryValue
- UserEntryValues returns a hash table of the currently set User Entries
As well as simple Id and Description properties (from the DSD), the DataSet has the following properties:
- DataGroups – a dictionary (string, fSeries.fData.DataSet.DataGroup) of all the publicly available top level (without parent) data groups returned
- Schema – a full Schema for the DSD (see separate section on the Schema class)
- UserEntries – a dictionary (string, fSeries.fData.DataSet.UserEntry) of all of the User Entries supplied.
A DataGroup contains the rows of data for the data group. The following methods and properties make the rows and fields available:
|Id||String||The Data Group’s Id|
|CurrentRow||Int||The index of the row currently pointed to|
|Row||An object containing the current row – see below|
|Rows||Row||An array of the Rows in the data group|
|EOF||Bool||Has the pointer moved beyond the last row? (true if no rows at all)|
|BOF||Bool||Has the pointer moved before the first row? (true if no rows at all)|
|Move the row pointer|
The following DataGroup string methods refer to a specified field in the current row:
- Value(string Field) – the formatted value
- Raw(string Field) – the raw unformatted value
- Format(string Field) – the field’s format: text, dateTime, Boolean, number
- Source(string Field) – the field’s source data group
The Row class provides detailed access to the Fields in a Row and to any child data groups. The properties are:
- Fields – a dictionary (string, fSeries.fData.DataSet.Field) of the fields in the Row
- DataGroups – a dictionary (string, fSeries.fData.DataSet.DataGroup) of all the publicly available data groups that have the current Data Group as its parent (see above for contents)
The Field class provides details about a specific field:
- Value (as string)
- Raw (as string)
- ValueAsBoolean (bool)
- ValueAsNumber (Double)
- ValueAsDateTime (DateTime)
- Format (text, dateTime, Boolean, number)
Note that all of the string properties can be obtained directly from the DataGroup class but the typed ones can’t.
The Schema class provides direct access to schema details of the DSD.
fSeries.fData.Schema sch = UserService.Schema(“Family”);
The Schema class has a DataGroups property that is a dictionary (string, fSeries.fData.Schema.DataGroup) of all publicly available Data Groups in the DSD
Each Schema Data Group has the following properties:
- Fields – a dictionary (string, fSeries.fData.Schema.Field) of the fields in the DataGroup
- ChildDataGroups(string Parent) – a dictionary (string, fSeries.fData.Schema.DataGroup) of the Data Groups whose parent is the current Data Group
Each Schema Field has the following properties:
- Format (text, dateTime, Boolean, number)