/// <summary> /// Initializes a new instance of the <see cref="RESTStructureQueryCore"/> class. /// Creation of a Structure Query for structures that match the given reference /// </summary> /// <param name="structureReference"> /// The structure reference. /// </param> public RESTStructureQueryCore(IStructureReference structureReference) { this._structureReference = structureReference; if(structureReference.Version != null) { _structureQueryMetadata = new StructureQueryMetadataCore(StructureQueryDetail.GetFromEnum(StructureQueryDetailEnumType.Null), null, null, false); } }
/// <summary> /// Initializes a new instance of the <see cref="RESTStructureQueryCore"/> class. /// Constructs a REST query from the rest query string, example: /// /dataflow/ALL/ALL/ALL /// </summary> /// <param name="queryString"> /// The rest query string. /// </param> /// <param name="queryParameters"> /// The parameters. /// </param> public RESTStructureQueryCore(string queryString, IDictionary<string, string> queryParameters) { if (queryString.StartsWith("/")) { queryString = queryString.Substring(1); } if (queryParameters == null) { queryParameters = new Dictionary<string, string>(); } //Parse any additional parameters if (queryString.IndexOf("?", StringComparison.Ordinal) > 0) { string paramters = queryString.Substring(queryString.IndexOf("?", StringComparison.Ordinal) + 1); queryString = queryString.Substring(0, queryString.IndexOf("?", StringComparison.Ordinal)); foreach (string currentParam in paramters.Split('&')) { string[] param = currentParam.Split('='); queryParameters.Add(param[0], param[1]); } } string[] args = queryString.Split('/'); ParserQueryString(args); _structureQueryMetadata = new StructureQueryMetadataCore(args, queryParameters); }
/// <summary> /// Initializes a new instance of the <see cref="RESTStructureQueryCore"/> class. /// </summary> /// <param name="queryString"> /// The query string. /// </param> /// <param name="queryParameters"> /// The query parameters. /// </param> public RESTStructureQueryCore(string[] queryString, IDictionary<string, string> queryParameters) { ParserQueryString(queryString); _structureQueryMetadata = new StructureQueryMetadataCore(queryString, queryParameters); }
/// <summary> /// Initializes a new instance of the <see cref="RESTStructureQueryCore"/> class. /// </summary> /// <param name="structureQueryDetail"> /// The structure query detail. /// </param> /// <param name="structureReferenceDetail"> /// The structure reference detail. /// </param> /// <param name="specificStructureReference"> /// The specific structure reference. /// </param> /// <param name="structureReference"> /// The structure reference. /// </param> /// <param name="returnLatest"> /// The return last. /// </param> public RESTStructureQueryCore(StructureQueryDetail structureQueryDetail, StructureReferenceDetail structureReferenceDetail, SdmxStructureType specificStructureReference, IStructureReference structureReference, bool returnLatest) { this._structureQueryMetadata = new StructureQueryMetadataCore(structureQueryDetail, structureReferenceDetail, specificStructureReference, returnLatest); this._structureReference = structureReference; }