Example #1
0
        public static T GetCurrentElement <T>()
            where T : ActiveRecord <T>, new()
        {
            T e = new T();

            StarUML.IUMLModelElement elem = dataAccess.GetCurrentModel();

            if (e.IsKindOf(elem.GetClassName(), elem.StereotypeName))
            {
                e.Load(elem);
                return(e);
            }

            return(null);
        }
Example #2
0
        /// <summary>
        /// Gets owner for this element
        /// </summary>
        /// <typeparam name="T">Owner Type</typeparam>
        /// <param name="element">Element</param>
        /// <returns>owner</returns>
        public static T GetOwner <T>(IUMLElement element)
            where T : ActiveRecord <T>, new()
        {
            //string path = element.PathName.Replace(element.Name, "");
            //path = path.Substring(0, path.Length - 2);

            string path = element.PathName.Substring(0, element.PathName.LastIndexOf(element.Name) - 2);

            StarUML.IUMLModelElement elem = dataAccess.FindModelByPathName(path);

            T e = new T();

            if (e.IsKindOf(elem.GetClassName(), elem.StereotypeName))
            {
                e.Load(elem);
                return(e);
            }

            return(null);
        }