/// <summary> /// Fills the specification keys. /// </summary> /// <param name="template">The template.</param> /// <param name="spec">The spec.</param> private void FillSpecificationKeys([NotNull] TemplateItem template, [NotNull] ref Collection <string> spec) { Assert.ArgumentNotNull(template, "template"); Assert.ArgumentNotNull(spec, "spec"); TemplateSectionItem section = template.GetSection("Specification"); if (section == null) { return; } foreach (TemplateFieldItem field in section.GetFields()) { if (!spec.Contains(field.Name)) { spec.Add(field.Name); } } foreach (TemplateItem baseTemplate in template.BaseTemplates) { this.FillSpecificationKeys(baseTemplate, ref spec); } }
/// <summary> /// Scans the section for Shared and Unversioned changes. /// </summary> /// <param name="templateItem">The template item.</param> /// <param name="section">The section.</param> /// <param name="result">The result.</param> private static void ScanSection(TemplateItem templateItem, SectionDefinition section, List<ScanResult> result) { Assert.ArgumentNotNull((object)templateItem, "templateItem"); Assert.ArgumentNotNull((object)section, "section"); Assert.ArgumentNotNull((object)result, "result"); if (!(section.Deleted != "1") || string.IsNullOrEmpty(section.SectionID)) return; TemplateSectionItem section1 = templateItem.GetSection(ID.Parse(section.SectionID)); if (section1 == null) return; foreach ( FieldDefinition field in section.Fields) TemplateBuilderForm.ScanField(section1, field, result); }
/// <summary> /// Saves the section. /// </summary> /// <param name="templateItem">The template item.</param> /// <param name="section">The section.</param> private static void SaveSection(TemplateItem templateItem, SectionDefinition section) { Assert.ArgumentNotNull((object)templateItem, "templateItem"); Assert.ArgumentNotNull((object)section, "section"); TemplateSectionItem sectionItem = (TemplateSectionItem)null; if (!string.IsNullOrEmpty(section.SectionID)) sectionItem = templateItem.GetSection(ID.Parse(section.SectionID), false); if (section.Deleted == "1") { if (sectionItem == null) return; sectionItem.InnerItem.Recycle(); } else { if (sectionItem == null) { sectionItem = templateItem.AddSection(section.Name, false); section.SectionID = sectionItem.ID.ToString(); } sectionItem.InnerItem.Editing.BeginEdit(); sectionItem.InnerItem.Name = StringUtil.GetString(new[] { section.Name }); sectionItem.InnerItem.Appearance.Sortorder = MainUtil.GetInt(section.Sortorder, 0); sectionItem.InnerItem.Editing.EndEdit(); foreach ( FieldDefinition field in section.Fields) TemplateBuilderForm.SaveField(sectionItem, field); } }
public virtual TemplateSectionItem GetSection(ID sectionID) { return(_templateItem.GetSection(sectionID)); }