SenseNet.ContentRepository.ContentList.AddFieldInternal C# (CSharp) Method

AddFieldInternal() private method

private AddFieldInternal ( FieldSetting fieldSetting ) : void
fieldSetting FieldSetting
return void
        private void AddFieldInternal(FieldSetting fieldSetting)
        {
            if (string.IsNullOrEmpty(this.ContentListDefinition))
                this.ContentListDefinition = DefaultContentListDefinition;

            var doc = new XmlDocument();
            doc.LoadXml(this.ContentListDefinition);
            var nsmgr = new XmlNamespaceManager(doc.NameTable);
            nsmgr.AddNamespace("x", ContentListDefinitionXmlNamespace);

            var fields = doc.DocumentElement.SelectSingleNode("/x:ContentListDefinition/x:Fields", nsmgr);

            using (var writer = fields.CreateNavigator().AppendChild())
            {
                fieldSetting.WriteXml(writer);
            }
            
            this.ContentListDefinition = doc.OuterXml;
            this.Save();
        }