Esempio n. 1
0
        internal static T GetOrCreateAfter <T>(this OpenXmlCompositeElement element, OpenXmlElement after) where T : OpenXmlElement, new()
        {
            if (!element.Has <T>())
            {
                element.InsertAfter(new T(), after);
            }

            return(element.Elements <T>().First());
        }
Esempio n. 2
0
        internal static T GetOrCreateBefore <T>(this OpenXmlCompositeElement element, OpenXmlElement before) where T : OpenXmlElement, new()
        {
            if (!element.Has <T>())
            {
                element.InsertBefore(new T(), before);
            }

            return(element.Elements <T>().First());
        }
Esempio n. 3
0
        internal static T GetOrCreate <T>(this OpenXmlCompositeElement element, bool prepend) where T : OpenXmlElement, new()
        {
            if (!element.Has <T>())
            {
                if (prepend)
                {
                    element.PrependChild(new T());
                }
                else
                {
                    element.AppendChild(new T());
                }
            }

            return(element.Elements <T>().First());
        }