public XDocument BuildComplexDataQuery(IComplexDataQuery complexDataQuery, IDataQueryFormat<XDocument> dataQueryFormat) { IComplexDataQueryBuilder builder = _factory.GetComplexDataQueryBuilder(dataQueryFormat); if (builder != null) { return builder.BuildComplexDataQuery(complexDataQuery); } throw new SdmxUnauthorisedException("Unsupported ComplexDataQueryFormat: " + dataQueryFormat); }
public IComplexDataQueryBuilder GetComplexDataQueryBuilder(IDataQueryFormat<XDocument> format) { //HAHAA, why not using an enum? if (format is GenericTimeSeriesDataFormatV21) { return new GenericTimeSeriesDataQueryBuilderV21(); } if (format is GenericDataDocumentFormatV21) { return new GenericDataQueryBuilderV21(); } if (format is StructSpecificDataFormatV21) { return new StructSpecificDataQueryBuilderV21(); } if (format is StructSpecificTimeSeriesDataFormatV21) { return new StructSpecificTimeSeriesQueryBuilderV21(); } return null; }