/// <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(); } }