public static void SetFolder(GDMRecord record, string value) { if (!HasFolderSupport(record.RecordType)) { return; } var folderTag = record.FindTag(GEDCOMTagName._FOLDER, 0); if (!string.IsNullOrEmpty(value)) { if (folderTag == null) { record.AddTag(GDMTag.Create(record, (int)GEDCOMTagType._FOLDER, value)); } else { folderTag.StringValue = value; } } else { if (folderTag != null) { record.DeleteTag(GEDCOMTagName._FOLDER); } } }
public void Test_SetTagStringsL() { var tag = GDMTag.Create(null, GEDCOMTagsTable.Lookup("TEST"), ""); Assert.IsNotNull(tag); // very long string, 248"A" and " BBB BBBB" var strings = new GDMLines("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA BBB BBBB"); GEDCOMUtils.SetTagStrings(null, strings); GEDCOMUtils.SetTagStrings(tag, strings); Assert.AreEqual(248, tag.StringValue.Length); var strList = GEDCOMUtils.GetTagStrings(tag); Assert.IsNotNull(strList); Assert.AreEqual(1, strList.Count); Assert.AreEqual(strings.Text, strList.Text); }