Xafari Reports. Concepts
From the point of view of the developer of the business application, to obtain the final report it is necessary to design the report data structure, retrieve data from the database, convert the data to the required format and provide the results to the user.
Thus, there is a specific set of technological concepts defining the basis for the report development with Xafari framework. Each of these concepts are described in the appropriate base class in the Xafari reporting system.
- Report Data is the type of objects that are the basic information of report. It can be a very complex combination of the many business objects, collections, references, calculated properties, etc. To implement Report Data, inherit from the Xafari.Reports.XafariReportDataBase class.
- Report Parameters is an object, using which the end user can limit the data selection for the report. To implement Report Parameters, inherit from the Xafari.Reports.XafariReportParametersBase Domain Component.
- The algorithm to populate the Report Data retrieves from the database information taking into account the Parameters and other requirements. Class to populate the Report Data must implement Xafari.Reports.IDataMinerOperation interface. Developer can inherit from the Xafari.Reports.DataMinerOperationBase or more universal Xafari.Reports.DataMinerOperationBase<TReportData, TParameters>.
- Xafari Report is based on the Report Data, Report Parameters and Data Miner. To implement Xafari Report, inherit from the Xafari.Reports.XafariReport<TReportData, TParameters, TOperation> class.
The end user examines the report data in the specified output format, executed in accordance with a certain Template.Visual representation of the report is determined by the following elements:
- The algorithm to convert the retrieved data into the required format (Excel, File, etc.). This algorithm does not depend on the specific of the Report implementation.
- Report Template is specified by the Domain Component, its instances stores a many variants of fields layout for the output format.
Xafari Reports system encloses all tools for administration and usage reports.