public override void MoveTo(GDMRecord targetRecord, bool clearDest) { GDMSourceRecord targetSource = targetRecord as GDMSourceRecord; if (targetSource == null) { throw new ArgumentException(@"Argument is null or wrong type", "targetRecord"); } GDMLines titl = new GDMLines(); GDMLines orig = new GDMLines(); GDMLines publ = new GDMLines(); GDMLines text = new GDMLines(); titl.Text = (targetSource.Title.Lines.Text + "\n" + Title.Lines.Text).Trim(); orig.Text = (targetSource.Originator.Lines.Text + "\n" + Originator.Lines.Text).Trim(); publ.Text = (targetSource.Publication.Lines.Text + "\n" + Publication.Lines.Text).Trim(); text.Text = (targetSource.Text.Lines.Text + "\n" + Text.Lines.Text).Trim(); base.MoveTo(targetRecord, clearDest); targetSource.Title.Lines.Assign(titl); targetSource.Originator.Lines.Assign(orig); targetSource.Publication.Lines.Assign(publ); targetSource.Text.Lines.Assign(text); while (fRepositoryCitations.Count > 0) { GDMRepositoryCitation obj = fRepositoryCitations.Extract(0); obj.ResetOwner(targetSource); targetSource.RepositoryCitations.Add(obj); } }
public override void MoveTo(GDMRecord targetRecord, bool clearDest) { GDMFamilyRecord targetFamily = targetRecord as GDMFamilyRecord; if (targetFamily == null) { throw new ArgumentException(@"Argument is null or wrong type", "targetRecord"); } base.MoveTo(targetRecord, clearDest); targetFamily.RemoveSpouse(targetFamily.Husband.Individual); targetFamily.Husband.XRef = fHusband.XRef; targetFamily.RemoveSpouse(targetFamily.Wife.Individual); targetFamily.Wife.XRef = fWife.XRef; targetFamily.Status = fStatus; while (fChildren.Count > 0) { GDMIndividualLink obj = fChildren.Extract(0); obj.ResetOwner(targetFamily); targetFamily.Children.Add(obj); } }
public override void MoveTo(GDMRecord targetRecord) { GDMFamilyRecord targetFamily = targetRecord as GDMFamilyRecord; if (targetFamily == null) { throw new ArgumentException(@"Argument is null or wrong type", "targetRecord"); } base.MoveTo(targetRecord); targetFamily.RemoveSpouse(fTree.GetPtrValue <GDMIndividualRecord>(targetFamily.Husband)); targetFamily.Husband.XRef = fHusband.XRef; targetFamily.RemoveSpouse(fTree.GetPtrValue <GDMIndividualRecord>(targetFamily.Wife)); targetFamily.Wife.XRef = fWife.XRef; targetFamily.Status = fStatus; while (fChildren.Count > 0) { GDMIndividualLink obj = fChildren.Extract(0); targetFamily.Children.Add(obj); } }
public void Test_AddFaxNumber() { string value = "(214) 748-3647"; GDMAddress instance = new GDMAddress(null); instance.AddFaxNumber(value); GDMList <GDMTag> pl = instance.FaxNumbers; Assert.AreEqual(1, pl.Count); Assert.AreEqual(value, pl.Extract(0).StringValue); }
public void Test_AddEmailAddress() { string value = "*****@*****.**"; GDMAddress instance = new GDMAddress(null); instance.AddEmailAddress(value); GDMList <GDMTag> pl = instance.EmailAddresses; Assert.AreEqual(1, pl.Count); Assert.AreEqual(value, pl.Extract(0).StringValue); }
public void Test_AddWebPage1() { string value = "http://www.bitboost.com/ref/international-address-formats/russia/"; GDMAddress instance = new GDMAddress(null); instance.AddWebPage(value); GDMList <GDMTag> wp = instance.WebPages; Assert.AreEqual(1, wp.Count); string res = wp.Extract(0).StringValue; Assert.AreEqual(res, value); }
public void Test_Common() { GDMTag obj1 = new GDMTag(); GDMTag obj2 = new GDMTag(); using (var list = new GDMList <GDMTag>()) { // internal list is null (all routines instant returned) list.Delete(null); list.Exchange(0, 1); Assert.IsNull(list.Extract(0)); Assert.IsNull(list.Extract(null)); // normal checks list.Add(obj1); list.Add(obj2); Assert.AreEqual(0, list.IndexOf(obj1)); Assert.AreEqual(1, list.IndexOf(obj2)); using (var list2 = new GDMList <GDMTag>()) { list2.AddRange(list); Assert.AreEqual(2, list2.Count); } list.Delete(obj1); Assert.AreEqual(-1, list.IndexOf(obj1)); Assert.AreEqual(0, list.IndexOf(obj2)); list.Add(obj1); Assert.AreEqual(1, list.IndexOf(obj1)); Assert.AreEqual(0, list.IndexOf(obj2)); list.Exchange(0, 1); Assert.AreEqual(0, list.IndexOf(obj1)); Assert.AreEqual(1, list.IndexOf(obj2)); Assert.AreEqual(null, list.Extract(null)); list.Add(obj1); Assert.AreEqual(obj1, list.Extract(obj1)); } }
public virtual void MoveTo(GDMRecord targetRecord, bool clearDest) { if (clearDest) { targetRecord.Clear(); } var subTags = SubTags; while (subTags.Count > 0) { GDMTag tag = subTags.Extract(0); if (tag.GetTagType() == GEDCOMTagType.CHAN && !clearDest) { tag.Dispose(); } else { tag.ResetOwner(targetRecord); targetRecord.AddTag(tag); } } while (fNotes.Count > 0) { GDMTag tag = fNotes.Extract(0); tag.ResetOwner(targetRecord); targetRecord.Notes.Add((GDMNotes)tag); } while (fMultimediaLinks.Count > 0) { GDMTag tag = fMultimediaLinks.Extract(0); tag.ResetOwner(targetRecord); targetRecord.MultimediaLinks.Add((GDMMultimediaLink)tag); } while (fSourceCitations.Count > 0) { GDMTag tag = fSourceCitations.Extract(0); tag.ResetOwner(targetRecord); targetRecord.SourceCitations.Add((GDMSourceCitation)tag); } while (fUserReferences.Count > 0) { GDMTag tag = fUserReferences.Extract(0); tag.ResetOwner(targetRecord); targetRecord.UserReferences.Add((GDMUserReference)tag); } }
public void Test_Common() { GDMTag obj1 = new GDMTag(null); GDMTag obj2 = new GDMTag(null); using (GDMList <GDMTag> list = new GDMList <GDMTag>(null)) { // internal list is null (all routines instant returned) list.Delete(null); list.Exchange(0, 1); Assert.IsNull(list.Extract(0)); Assert.IsNull(list.Extract(null)); // normal checks list.Add(obj1); list.Add(obj2); Assert.AreEqual(0, list.IndexOf(obj1)); Assert.AreEqual(1, list.IndexOf(obj2)); list.Delete(obj1); Assert.AreEqual(-1, list.IndexOf(obj1)); Assert.AreEqual(0, list.IndexOf(obj2)); list.Add(obj1); Assert.AreEqual(1, list.IndexOf(obj1)); Assert.AreEqual(0, list.IndexOf(obj2)); list.Exchange(0, 1); Assert.AreEqual(0, list.IndexOf(obj1)); Assert.AreEqual(1, list.IndexOf(obj2)); Assert.AreEqual(null, list.Extract(null)); list.Add(obj1); Assert.AreEqual(obj1, list.Extract(obj1)); foreach (GDMObject obj in list) { } } }
public override void MoveTo(GDMRecord targetRecord) { GDMRecordWithEvents target = targetRecord as GDMRecordWithEvents; if (target == null) { throw new ArgumentException(@"Argument is null or wrong type", "targetRecord"); } base.MoveTo(targetRecord); while (fEvents != null && fEvents.Count > 0) { GDMCustomEvent obj = fEvents.Extract(0); target.AddEvent(obj); } target.Restriction = fRestriction; }
public virtual void MoveTo(GDMRecord targetRecord) { var subTags = SubTags; while (subTags.Count > 0) { GDMTag tag = subTags.Extract(0); if (tag.GetTagType() == GEDCOMTagType.CHAN) { tag.Dispose(); } else { targetRecord.AddTag(tag); } } while (fNotes != null && fNotes.Count > 0) { GDMTag tag = fNotes.Extract(0); targetRecord.Notes.Add((GDMNotes)tag); } while (fMultimediaLinks != null && fMultimediaLinks.Count > 0) { GDMTag tag = fMultimediaLinks.Extract(0); targetRecord.MultimediaLinks.Add((GDMMultimediaLink)tag); } while (fSourceCitations != null && fSourceCitations.Count > 0) { GDMTag tag = fSourceCitations.Extract(0); targetRecord.SourceCitations.Add((GDMSourceCitation)tag); } while (fUserReferences != null && fUserReferences.Count > 0) { GDMTag tag = fUserReferences.Extract(0); targetRecord.UserReferences.Add((GDMUserReference)tag); } }
public GDMRecord Extract(int index) { XRefIndex_DeleteRecord(fRecords[index]); return(fRecords.Extract(index)); }
public override void MoveTo(GDMRecord targetRecord, bool clearDest) { GDMIndividualRecord targetIndi = targetRecord as GDMIndividualRecord; if (targetIndi == null) { throw new ArgumentException(@"Argument is null or wrong type", "targetRecord"); } /*if (!clearDest) { * DeleteTag(GEDCOMTagType.SEX); * DeleteTag(GEDCOMTagType._UID); * }*/ base.MoveTo(targetRecord, clearDest); targetIndi.Sex = fSex; while (fPersonalNames.Count > 0) { GDMPersonalName obj = fPersonalNames.Extract(0); obj.ResetOwner(targetIndi); targetIndi.AddPersonalName(obj); } string currentXRef = this.XRef; string targetXRef = targetRecord.XRef; while (fChildToFamilyLinks.Count > 0) { GDMChildToFamilyLink ctfLink = fChildToFamilyLinks.Extract(0); GDMFamilyRecord family = ctfLink.Family; int num = family.Children.Count; for (int i = 0; i < num; i++) { GDMIndividualLink childPtr = family.Children[i]; if (childPtr.XRef == currentXRef) { childPtr.XRef = targetXRef; } } ctfLink.ResetOwner(targetIndi); targetIndi.ChildToFamilyLinks.Add(ctfLink); } while (fSpouseToFamilyLinks.Count > 0) { GDMSpouseToFamilyLink stfLink = fSpouseToFamilyLinks.Extract(0); GDMFamilyRecord family = stfLink.Family; if (family.Husband.XRef == currentXRef) { family.Husband.XRef = targetXRef; } else if (family.Wife.XRef == currentXRef) { family.Wife.XRef = targetXRef; } stfLink.ResetOwner(targetIndi); targetIndi.SpouseToFamilyLinks.Add(stfLink); } while (fAssociations.Count > 0) { GDMAssociation obj = fAssociations.Extract(0); obj.ResetOwner(targetIndi); targetIndi.Associations.Add(obj); } while (fAliases.Count > 0) { GDMAlias obj = fAliases.Extract(0); obj.ResetOwner(targetIndi); targetIndi.Aliases.Add(obj); } while (fGroups.Count > 0) { GDMPointer obj = fGroups.Extract(0); obj.ResetOwner(targetIndi); targetIndi.Groups.Add(obj); } }
public override void MoveTo(GDMRecord targetRecord) { GDMIndividualRecord targetIndi = targetRecord as GDMIndividualRecord; if (targetIndi == null) { throw new ArgumentException(@"Argument is null or wrong type", "targetRecord"); } base.MoveTo(targetRecord); targetIndi.Sex = fSex; while (fPersonalNames.Count > 0) { GDMPersonalName obj = fPersonalNames.Extract(0); targetIndi.AddPersonalName(obj); } string currentXRef = this.XRef; string targetXRef = targetRecord.XRef; while (fChildToFamilyLinks.Count > 0) { GDMChildToFamilyLink ctfLink = fChildToFamilyLinks.Extract(0); var family = fTree.GetPtrValue <GDMFamilyRecord>(ctfLink); int num = family.Children.Count; for (int i = 0; i < num; i++) { GDMIndividualLink childPtr = family.Children[i]; if (childPtr.XRef == currentXRef) { childPtr.XRef = targetXRef; } } targetIndi.ChildToFamilyLinks.Add(ctfLink); } while (fSpouseToFamilyLinks.Count > 0) { GDMSpouseToFamilyLink stfLink = fSpouseToFamilyLinks.Extract(0); var family = fTree.GetPtrValue <GDMFamilyRecord>(stfLink); if (family.Husband.XRef == currentXRef) { family.Husband.XRef = targetXRef; } else if (family.Wife.XRef == currentXRef) { family.Wife.XRef = targetXRef; } targetIndi.SpouseToFamilyLinks.Add(stfLink); } while (fAssociations.Count > 0) { GDMAssociation obj = fAssociations.Extract(0); targetIndi.Associations.Add(obj); } while (fGroups.Count > 0) { GDMPointer obj = fGroups.Extract(0); targetIndi.Groups.Add(obj); } }