/// <summary> /// Submits the specified structural meta-data . /// </summary> /// <param name="dataLocation">The data location pointing to the structural meta-data.</param> /// <returns>The imported objects</returns> /// <exception cref="Estat.Sri.Ws.SubmitStructure.SubmitStructureException">An error occurred while importing structural meta-data.</exception> public ISdmxObjects Submit(IReadableDataLocation dataLocation, SubmitStructureConstant.ActionType actionType = SubmitStructureConstant.ActionType.Replace) { // Parse structures IStructureParsingManager is an instance field. IStructureWorkspace structureWorkspace = this._parsingManager.ParseStructures(dataLocation); // Get immutable objects from workspace ISdmxObjects objects = structureWorkspace.GetStructureObjects(false); // create a new instance of the MappingStoreManager class which implements the IStructurePersistenceManager IList<ArtefactImportStatus> importStatus = new List<ArtefactImportStatus>(); IStructurePersistenceManager persistenceManager = new MappingStoreManager(this._connectionStringSettings, importStatus); switch (actionType) { case SubmitStructureConstant.ActionType.Append: break; case SubmitStructureConstant.ActionType.Replace: // Save the structure to the mapping store database. persistenceManager.SaveStructures(objects); // Validate objects. ValidateImport(importStatus); break; case SubmitStructureConstant.ActionType.Delete: // Delete the structure to the mapping store database. persistenceManager.DeleteStructures(objects); break; default: break; } // Return the immutable object container. return objects; }
/// <summary> /// Submits the specified structural meta-data . /// </summary> /// <param name="dataLocation">The data location pointing to the structural meta-data.</param> /// <returns>The imported objects</returns> /// <exception cref="Estat.Sri.Ws.SubmitStructure.SubmitStructureException">An error occurred while importing structural meta-data.</exception> public ISdmxObjects Submit(IReadableDataLocation dataLocation, SubmitStructureConstant.ActionType actionType = SubmitStructureConstant.ActionType.Replace) { // Parse structures IStructureParsingManager is an instance field. IStructureWorkspace structureWorkspace = this._parsingManager.ParseStructures(dataLocation); // Get immutable objects from workspace ISdmxObjects objects = structureWorkspace.GetStructureObjects(false); // create a new instance of the MappingStoreManager class which implements the IStructurePersistenceManager IList <ArtefactImportStatus> importStatus = new List <ArtefactImportStatus>(); IStructurePersistenceManager persistenceManager = new MappingStoreManager(this._connectionStringSettings, importStatus); switch (actionType) { case SubmitStructureConstant.ActionType.Append: break; case SubmitStructureConstant.ActionType.Replace: // Save the structure to the mapping store database. persistenceManager.SaveStructures(objects); // Validate objects. ValidateImport(importStatus); break; case SubmitStructureConstant.ActionType.Delete: // Delete the structure to the mapping store database. persistenceManager.DeleteStructures(objects); break; default: break; } // Return the immutable object container. return(objects); }
public static IList<ArtefactImportStatus> DeleteStructure(SDMXIdentifier sdmxKey, Org.Sdmxsource.Sdmx.Api.Constants.SdmxStructureEnumType typeArtefact = Org.Sdmxsource.Sdmx.Api.Constants.SdmxStructureEnumType.Dsd) { IList<ArtefactImportStatus> artefactImportStatuses = new List<ArtefactImportStatus>(); if (typeArtefact == Org.Sdmxsource.Sdmx.Api.Constants.SdmxStructureEnumType.Dsd) { IDataStructureObject dsd = DataSDMX.GetDSD(sdmxKey, true); var manager = new MappingStoreManager(SQLConnString_DB, artefactImportStatuses); manager.DeleteStructure(dsd); } else if (typeArtefact == Org.Sdmxsource.Sdmx.Api.Constants.SdmxStructureEnumType.Dataflow) { IDataflowObject dataflow = DataSDMX.GetDataflow(sdmxKey, true); var manager = new MappingStoreManager(SQLConnString_DB, artefactImportStatuses); manager.DeleteStructure(dataflow); } return artefactImportStatuses; }
public static IList<ArtefactImportStatus> SubmitStructure(ISdmxObjects sdmxObjects) { IList<ArtefactImportStatus> artefactImportStatuses = new List<ArtefactImportStatus>(); try { var manager = new MappingStoreManager(SQLConnString_DB, artefactImportStatuses); manager.SaveStructures(sdmxObjects); foreach (ArtefactImportStatus datastructure in artefactImportStatuses) { if (datastructure.ImportMessage.StructureReference.MaintainableStructureEnumType == Org.Sdmxsource.Sdmx.Api.Constants.SdmxStructureEnumType.Dsd) { Delete_Dataflow((int)datastructure.PrimaryKeyValue + 1); } } return artefactImportStatuses; } catch (Exception ex) { throw ex; } }
public static IList<ArtefactImportStatus> DeleteStructure(ISdmxObjects sdmxObjects) { IList<ArtefactImportStatus> artefactImportStatuses = new List<ArtefactImportStatus>(); var manager = new MappingStoreManager(SQLConnString_DB, artefactImportStatuses); manager.DeleteStructures(sdmxObjects); return artefactImportStatuses; }
public static IList<ArtefactImportStatus> SubmitStructure(System.IO.Stream stream) { System.IO.StreamReader _stream = new System.IO.StreamReader(stream); ReadableDataLocationFactory fact = new ReadableDataLocationFactory(); IReadableDataLocation rdl = fact.GetReadableDataLocation(_stream.BaseStream); IList<ArtefactImportStatus> artefactImportStatuses = new List<ArtefactImportStatus>(); try { StructureParsingManager spm = new StructureParsingManager(); IStructureWorkspace workspace = spm.ParseStructures(rdl); ISdmxObjects sdmxObjects = workspace.GetStructureObjects(false); //sdmxObjects = RemoveNotFinalDSD(sdmxObjects); var manager = new MappingStoreManager(SQLConnString_DB, artefactImportStatuses); manager.SaveStructures(sdmxObjects); _stream.Close(); rdl.Close(); foreach (ArtefactImportStatus datastructure in artefactImportStatuses) { if (datastructure.ImportMessage.StructureReference.MaintainableStructureEnumType == Org.Sdmxsource.Sdmx.Api.Constants.SdmxStructureEnumType.Dsd) { Delete_Dataflow((int)datastructure.PrimaryKeyValue + 1); /* DeleteStructure(new SDMXIdentifier() { id = datastructure.ImportMessage.StructureReference.MaintainableId, agencyid = datastructure.ImportMessage.StructureReference.AgencyId, version = datastructure.ImportMessage.StructureReference.Version, }, Org.Sdmxsource.Sdmx.Api.Constants.SdmxStructureEnumType.Dataflow); */ } } return artefactImportStatuses; } catch (Exception ex) { _stream.Close(); rdl.Close(); throw ex; } }