Delivery of reports containing unknown data shapes that require parameters, filters and sorting.
Well the start of it anyway, is here. A web server exposes a web service that returns meta data about the report types, their parameters and whether those parameters can have their value set by selecting from a list of data or by single data entry.
The data that is returned from the web server is in an unknown shape. To get around this we use an implementation of ICustomTypeProvider.
This prototype requires Telerik controls which can be downloaded from: