TSF.UmlToolingFramework.Wrappers.EA.Model.getElementWrappersByQuery C# (CSharp) Method

getElementWrappersByQuery() public method

returns the elementwrappers that are identified by the Object_ID's returned by the given query
public getElementWrappersByQuery ( string sqlQuery ) : List
sqlQuery string query returning the Object_ID's
return List
        public List<ElementWrapper> getElementWrappersByQuery(string sqlQuery)
        {
            // get the nodes with the name "ObjectID"
              XmlDocument xmlObjectIDs = this.SQLQuery(sqlQuery);
              XmlNodeList objectIDNodes = xmlObjectIDs.SelectNodes(formatXPath("//Object_ID"));
              List<ElementWrapper> elements = new List<ElementWrapper>();

              foreach( XmlNode objectIDNode in objectIDNodes )
              {
              	ElementWrapper element = this.getElementWrapperByID(int.Parse(objectIDNode.InnerText));
            if (element != null)
            {
            elements.Add(element);
            }
              }
              return elements;
        }

Usage Example

        /// <summary>
        /// gets all the logical datatype in the model
        /// </summary>
        /// <param name="model">the model</param>
        /// <returns>a list of logical datatypes found in the model</returns>
        public static IEnumerable <LogicalDatatype> getAllLogicalDatatypes(TSF_EA.Model model)
        {
            var logicalDatatypes       = new List <LogicalDatatype>();
            var sqlGetLogicalDatatypes = @"select o.[Object_ID] from t_object o
                                           where o.Stereotype = 'EDD_LogicalDatatype'
                                           order by o.name";

            foreach (var datatype in model.getElementWrappersByQuery(sqlGetLogicalDatatypes).OfType <UML.Classes.Kernel.DataType>())
            {
                logicalDatatypes.Add(new LogicalDatatype(datatype));
            }
            return(logicalDatatypes);
        }