/// <summary> /// Gets the CsvZip data controller for SDMX v2.0 SOAP or REST. /// </summary> /// <param name="dataFormat"> /// The compact data format. /// </param> /// <param name="sdmxSchema"> /// The SDMX schema V20. /// </param> /// <param name="principal"> /// The principal. /// </param> /// <returns> /// The <see cref="IController{XmlNode,XmlWriter}"/>. /// </returns> private CsvZipDataController<CsvZipTextWriter> GetCsvZipDataController(BaseDataFormat dataFormat, SdmxSchema sdmxSchema, DataflowPrincipal principal) { CsvZipDataController<CsvZipTextWriter> CsvZipDataController; var dataWriterBuilder = new CsvZipDataWriterBuilder(dataFormat, sdmxSchema); var CsvZipDataResponseGenerator = new CsvZipDataResponseGenerator<CsvZipTextWriter>(this.GetDataRetrievalWithWriter(sdmxSchema.EnumType), dataWriterBuilder); CsvZipDataController = new CsvZipDataController<CsvZipTextWriter>(CsvZipDataResponseGenerator, new DataRequestValidator(dataFormat, sdmxSchema), principal); return CsvZipDataController; }
/// <summary> /// Builds the CSV ziped data controller for SDMX V21. /// </summary> /// <param name="principal"> /// The principal. /// </param> /// <param name="baseDataFormat"> /// The base data format. /// </param> /// <param name="sdmxSchema"> /// The SDMX schema. /// </param> /// <returns> /// The <see cref="IController{XmlNode,XmlWriter}"/>. /// </returns> /// <exception cref="SdmxSemmanticException"> /// Impossible request. Requested CrossSectional for SDMX v2.1. /// </exception> public IController<IRestDataQuery, CsvZipTextWriter> BuildCsvZipDataRest(DataflowPrincipal principal, BaseDataFormat baseDataFormat, SdmxSchema sdmxSchema) { CsvZipDataController<CsvZipTextWriter> CsvZipDataController; var dataWriterBuilder = new CsvZipDataWriterBuilder(baseDataFormat, sdmxSchema); var CsvZipDataResponseGenerator = new CsvZipDataResponseGenerator<CsvZipTextWriter>(this.GetDataRetrievalWithWriter(sdmxSchema.EnumType), dataWriterBuilder); CsvZipDataController = new CsvZipDataController<CsvZipTextWriter>(CsvZipDataResponseGenerator, new DataRequestValidator(baseDataFormat, sdmxSchema), principal); return CsvZipDataController; }