示例#1
0
        private void SaveSDMXFile(ISdmxObjects sdmxObjects, StructureOutputFormatEnumType version, string outputFileName)
        {
            StructureWriterManager swm = new StructureWriterManager();

            StructureOutputFormat soFormat     = StructureOutputFormat.GetFromEnum(version);
            IStructureFormat      outputFormat = new SdmxStructureFormat(soFormat);

            MemoryStream memoryStream = new MemoryStream();

            swm.WriteStructures(sdmxObjects, outputFormat, memoryStream);


            byte[] bytesInStream = memoryStream.ToArray();
            memoryStream.Close();

            SendAttachment(bytesInStream, outputFileName);
        }
示例#2
0
        public void SaveSDMXFile(ISdmxObjects sdmxObjects, StructureOutputFormatEnumType version, string outputFileName)
        {

            StructureWriterManager swm = new StructureWriterManager();

            StructureOutputFormat soFormat = StructureOutputFormat.GetFromEnum(version);
            IStructureFormat outputFormat = new SdmxStructureFormat(soFormat);

            MemoryStream memoryStream = new MemoryStream();

            swm.WriteStructures(sdmxObjects, outputFormat, memoryStream);


            byte[] bytesInStream = memoryStream.ToArray();
            memoryStream.Close();

            SendAttachment(bytesInStream, outputFileName + ".xml");
        }
示例#3
0
        public StreamResponseAction ExportSDMXStructure(string id, string sdmxVersion)
        {
            try
            {
                _iD = id;
                InitObject();

                StructureOutputFormatEnumType sdmxEnumType = StructureOutputFormatEnumType.SdmxV21StructureDocument;

                if (sdmxVersion == "20")
                {
                    sdmxEnumType = StructureOutputFormatEnumType.SdmxV2StructureDocument;
                }

                SaveSDMXFile(_dataStream.structure, sdmxEnumType, GetFileName(_iD, "xml"));

                return(null);
            }
            catch (Exception ex)
            {
                return(new StreamResponseAction(ex.Message));
            }
        }
示例#4
0
        /// <summary>
        /// Gets the SOAP operation.
        /// </summary>
        /// <param name="structureOutputFormat">
        /// The structure output format.
        /// </param>
        /// <param name="sdmxSchema">
        /// The SDMX schema.
        /// </param>
        /// <param name="structure">
        /// Type of the structure requested. (Only in SDMX v2.1 ).
        /// </param>
        /// <returns>
        /// The <see cref="SoapOperation"/>.
        /// </returns>
        public static SoapOperation GetSoapOperation(this StructureOutputFormatEnumType structureOutputFormat, SdmxSchemaEnumType sdmxSchema, SdmxStructureEnumType structure)
        {
            switch (structureOutputFormat)
            {
            case StructureOutputFormatEnumType.Null:
                break;

            case StructureOutputFormatEnumType.SdmxV1StructureDocument:
                break;

            case StructureOutputFormatEnumType.SdmxV2StructureDocument:
                break;

            case StructureOutputFormatEnumType.SdmxV2RegistrySubmitDocument:
                break;

            case StructureOutputFormatEnumType.SdmxV2RegistryQueryResponseDocument:
                return(SoapOperation.QueryStructure);

            case StructureOutputFormatEnumType.SdmxV21StructureDocument:
                switch (structure)
                {
                case SdmxStructureEnumType.Constraint:
                    return(SoapOperation.GetConstraint);

                case SdmxStructureEnumType.OrganisationScheme:
                    return(SoapOperation.GetOrganisationScheme);

                case SdmxStructureEnumType.StructureSet:
                    return(SoapOperation.GetStructureSet);

                case SdmxStructureEnumType.Dataflow:
                    return(SoapOperation.GetDataflow);

                case SdmxStructureEnumType.CodeList:
                    return(SoapOperation.GetCodelist);

                case SdmxStructureEnumType.Categorisation:
                    return(SoapOperation.GetCategorisation);

                case SdmxStructureEnumType.CategoryScheme:
                    return(SoapOperation.GetCategoryScheme);

                case SdmxStructureEnumType.ConceptScheme:
                    return(SoapOperation.GetConceptScheme);

                case SdmxStructureEnumType.Dsd:
                    return(SoapOperation.GetDataStructure);

                case SdmxStructureEnumType.HierarchicalCodelist:
                    return(SoapOperation.GetHierarchicalCodelist);

                default:
                    return(SoapOperation.GetStructures);
                }

            case StructureOutputFormatEnumType.SdmxV21RegistrySubmitDocument:
                break;

            case StructureOutputFormatEnumType.SdmxV21QueryResponseDocument:
                break;

            case StructureOutputFormatEnumType.Edi:
                break;

            case StructureOutputFormatEnumType.Csv:
                break;

            default:
                return(SoapOperation.Null);
            }

            return(SoapOperation.Null);
        }
示例#5
0
 /// <summary>
 /// Initializes a new instance of the <see cref="StructureResponseGenerator"/> class.
 /// </summary>
 /// <param name="structureManagerBuilder">
 /// The structure manager builder.
 /// </param>
 /// <param name="format">
 /// The format.
 /// </param>
 public StructureResponseGenerator(IWriterBuilder <IStructureWriterManager, XmlWriter> structureManagerBuilder, StructureOutputFormatEnumType format)
 {
     this._structureManagerBuilder = structureManagerBuilder;
     this._sdmxStructureFormat     = new SdmxStructureFormat(StructureOutputFormat.GetFromEnum(format));
 }