Example #1
0
        /// <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);
            }
        }
        public TemplateSection(TemplateSectionItem sectionItem, bool isContributing)
        {
            IsContributing = isContributing;
            RegionName = sectionItem.Name;
            RegionClassName = DomUtil.ConvertCaseString(sectionItem.Name);

            TemplateFieldItem[] fieldItems = sectionItem.GetFields();
            TemplateFields = fieldItems != null ? fieldItems.Select(fieldItem => new TemplateField(fieldItem)) : null;
        }
        /// <summary>
        /// Converts the section.
        /// </summary>
        /// <param name="item">The requested item.</param>
        /// <param name="section">The section.</param>
        /// <param name="writer">The writer.</param>
        private static void ConvertSection(Item item, TemplateSectionItem section, XmlTextWriter writer)
        {
            if (section != null)
            {
                foreach (TemplateFieldItem fieldInfo in section.GetFields())
                {
                    Field field = item.Fields[fieldInfo.ID];

                    if (field != null)
                    {
                        ConvertField(field, writer);
                    }
                }
            }
        }
 /// <summary>
 /// Scans the field.
 /// </summary>
 /// <param name="sectionItem">The section item.</param>
 /// <param name="field">The field.</param>
 /// <param name="result">The result.</param>
 private static void ScanField(TemplateSectionItem sectionItem,
                               FieldDefinition field, List<ScanResult> result)
 {
     Assert.ArgumentNotNull((object)sectionItem, "sectionItem");
     Assert.ArgumentNotNull((object)field, "field");
     Assert.ArgumentNotNull((object)result, "result");
     if (!(field.Deleted != "1") || string.IsNullOrEmpty(field.FieldID))
         return;
     bool shared = StringUtil.GetString(new[]
         {
             field.IsShared
         }) == "1";
     bool unversioned = StringUtil.GetString(new[]
         {
             field.IsUnversioned
         }) == "1";
     TemplateFieldItem field1 = sectionItem.GetField(ID.Parse(field.FieldID));
     if (field1 == null || field1.Shared == shared && field1.Unversioned == unversioned)
         return;
     Template template = TemplateManager.GetTemplate(sectionItem.Template.ID, sectionItem.Database);
     Assert.IsNotNull((object)template, typeof(Template));
     TemplateField field2 = template.GetField(field1.ID);
     Assert.IsNotNull((object)field2, typeof(TemplateField));
     result.Add(new TemplateBuilderForm.ScanResult(field2, field1.DisplayName, shared, unversioned));
 }
        /// <summary>
        /// Saves the field.
        /// </summary>
        /// <param name="sectionItem">The section item.</param>
        /// <param name="field">The field.</param>
        private static void SaveField(TemplateSectionItem sectionItem,
                                      FieldDefinition field)
        {
            Assert.ArgumentNotNull((object)sectionItem, "sectionItem");
            Assert.ArgumentNotNull((object)field, "field");
            TemplateFieldItem templateFieldItem = (TemplateFieldItem)null;
            if (!string.IsNullOrEmpty(field.FieldID))
                templateFieldItem = sectionItem.GetField(ID.Parse(field.FieldID));
            if (field.Deleted == "1")
            {
                if (templateFieldItem == null)
                    return;
                templateFieldItem.InnerItem.Recycle();
            }
            else
            {
                if (templateFieldItem == null)
                {
                    templateFieldItem = sectionItem.AddField(field.Name);
                    field.FieldID = templateFieldItem.ID.ToString();
                }

                templateFieldItem.InnerItem.Editing.BeginEdit();
                templateFieldItem.InnerItem.Name = StringUtil.GetString(new[] { field.Name });
                templateFieldItem.Type = StringUtil.GetString(new[] { field.Type });
                templateFieldItem.Source = StringUtil.GetString(new[] { field.Source });
                templateFieldItem.Title = StringUtil.GetString(new[] { field.Title });
                templateFieldItem.InnerItem["__Short description"] =
                    StringUtil.GetString(new[] { field.Description });
                templateFieldItem.InnerItem[TemplateFieldIDs.Unversioned] =
                    StringUtil.GetString(new[] { field.IsUnversioned }) == "1" ? "1" : string.Empty;
                templateFieldItem.InnerItem[TemplateFieldIDs.Shared] =
                    StringUtil.GetString(new[] { field.IsShared }) == "1" ? "1" : string.Empty;
                templateFieldItem.InnerItem.Appearance.Sortorder = MainUtil.GetInt(field.Sortorder, 0);
                templateFieldItem.InnerItem.Editing.EndEdit();
            }
        }
 /// <summary>
 /// Loads the section.
 /// </summary>
 /// <param name="template">The template.</param>
 /// <param name="section">The section.</param>
 private static void LoadSection(TemplateDefinition template,
                                 TemplateSectionItem section)
 {
     Assert.ArgumentNotNull((object)template, "template");
     Assert.ArgumentNotNull((object)section, "section");
     SectionDefinition sectionDefinition
         = new SectionDefinition()
             {
                 SectionID = section.ID.ToString(),
                 Name = section.Name,
                 Sortorder = section.Sortorder.ToString()
             };
     template.AddSection(sectionDefinition);
     foreach (TemplateFieldItem field in section.GetFields())
         TemplateBuilderForm.LoadField(sectionDefinition, field);
     sectionDefinition.Fields.Sort((IComparer)new FieldComparer());
 }
Example #7
0
 private TemplateFallbackFieldItem(Item innerItem, TemplateSectionItem owner)
     : base(innerItem, owner)
 {
 }
 private static void MoveFields(TemplateSectionItem templateSectionItem, IEnumerable<Item> fields)
 {
     Assert.ArgumentNotNull(templateSectionItem, "templateSectionItem");
     Assert.ArgumentNotNull(fields, "fields");
     foreach (Item field in fields)
     {
         field.MoveTo(templateSectionItem.InnerItem);
     }
 }
        /// <summary>
        /// Converts the section.
        /// </summary>
        /// <param name="item">The requested item.</param>
        /// <param name="section">The section.</param>
        /// <param name="writer">The writer.</param>
        private static void ConvertSection(Item item, TemplateSectionItem section, XmlTextWriter writer)
        {
            if (section != null)
            {
                foreach (TemplateFieldItem fieldInfo in section.GetFields())
                {
                    Field field = item.Fields[fieldInfo.ID];

                    if (field != null)
                    {
                        ConvertField(field, writer);
                    }
                }
            }
        }
 private TemplateFallbackFieldItem(Item innerItem, TemplateSectionItem owner)
     : base(innerItem, owner)
 {
 }