public void InsertDataStructure(string dsd_ID, string dsd_Agency, string dsd_Version, List <LocalizedValue> dsd_names, List <ValueDomainInfoInDataStructure> dsd_componentList) { try { List <string[]> parameters = new List <string[]>(); parameters.Add(new string[] { "datastructure_seq_id", "NUMBER" }); parameters.Add(new string[] { "valueDomain_seq_id", "NUMBER" }); parameters.Add(new string[] { "main_value_domain_seq_id", "NUMBER" }); parameters.Add(new string[] { "item_seq_id", "NUMBER" }); List <string> SQLStatement = VTLSqlStatement.seq_id_declare_begin(parameters); //List<string> SQLStatement = VTLSqlStatement.seq_id_storeProcedure_begin(parameters); SQLStatement.AddRange(VTLSqlStatement.getDataStructureSQLStatement(dsd_ID, dsd_Agency, dsd_Version, dsd_names, "datastructure_seq_id")); foreach (ValueDomainInfoInDataStructure bs in dsd_componentList) { SQLStatement.AddRange(VTLSqlStatement.getValueDomainInsertSQLStatement(bs.vd_id, bs.vd_agency, bs.vd_version, bs.names, ArtefactInfo.VTL.VTL_Model.VTL_DATATYPE.String, bs.values, "valueDomain_seq_id", "main_value_domain_seq_id")); SQLStatement.AddRange(VTLSqlStatement.getDataStructureComponentSQLStatement(bs.names, bs.role, bs.vd_id, "datastructure_seq_id", "main_value_domain_seq_id", "item_seq_id")); } SQLStatement.Add(VTLSqlStatement.closeProcedure); //SQLStatement.Add(VTLSqlStatement.closeProcedureInsert); string tm1p = String.Join("\n ", SQLStatement); OnLineCountEvent(new LineCountEventArgs(tm1p.Count())); _provider.ExecuteNonQueryMultiple(tm1p); } catch (Exception ex) { throw new Exception(ex.Message); } }