Пример #1
0
        /// <summary>
        /// Parse request from <paramref name="input"/>
        /// </summary>
        /// <param name="input">
        /// The reader for the SDMX-ML or REST request
        /// </param>
        /// <returns>
        /// The <see cref="IStreamController{TWriter}"/>.
        /// </returns>
        public IStreamController <TWriter> ParseRequest(IReadableDataLocation input)
        {
            IDataQueryParseManager dataQueryParseManager = new DataQueryParseManager(SdmxSchemaEnumType.VersionTwoPointOne);
            var dataQuery = dataQueryParseManager.BuildComplexDataQuery(input, this._sdmxRetrievalManager).FirstOrDefault();

            if (dataQuery == null)
            {
                throw new SdmxSemmanticException(Resources.ErrorOperationNotAccepted);
            }

            return(this.ParseRequest(dataQuery));
        }
Пример #2
0
        /// <summary>
        /// Gets the data query from stream.
        /// </summary>
        /// <param name="input">
        /// The input.
        /// </param>
        /// <exception cref="Org.Sdmxsource.Sdmx.Api.Exception.SdmxSemmanticException">
        /// Operation not accepted
        /// </exception>
        /// <returns>
        /// The <see cref="IDataQuery"/>.
        /// </returns>
        protected IDataQuery GetDataQueryFromStream(IReadableDataLocation input)
        {
            IDataQueryParseManager dataQueryParseManager = new DataQueryParseManager(SdmxSchemaEnumType.VersionTwo);
            var dataQuery = dataQueryParseManager.BuildDataQuery(input, this._sdmxRetrievalManager).FirstOrDefault();

            if (dataQuery == null)
            {
                throw new SdmxSemmanticException(Resources.ErrorOperationNotAccepted);
            }

            return(dataQuery);
        }