예제 #1
0
        public void AddUserRef(string reference)
        {
            GDMUserReference uRef = new GDMUserReference(this);

            uRef.StringValue = reference;
            fUserReferences.Add(uRef);
        }
예제 #2
0
 public GDMPersonalName AddPersonalName(GDMPersonalName value)
 {
     if (value != null)
     {
         fPersonalNames.Add(value);
     }
     return(value);
 }
예제 #3
0
 protected void AssignList <T>(GDMList <T> srcList, GDMList <T> destList) where T : GDMTag
 {
     foreach (GDMTag sourceTag in srcList)
     {
         T copyTag = (T)Activator.CreateInstance(sourceTag.GetType(), new object[] { this });
         copyTag.Assign(sourceTag);
         destList.Add(copyTag);
     }
 }
예제 #4
0
 public GDMTag AddTag(GDMTag tag)
 {
     if (fTags == null)
     {
         fTags = new GDMList <GDMTag>(this);
     }
     fTags.Add(tag);
     return(tag);
 }
예제 #5
0
 protected void AssignList <T>(GDMList <T> srcList, GDMList <T> destList) where T : GDMTag
 {
     for (int i = 0, count = srcList.Count; i < count; i++)
     {
         GDMTag sourceTag = srcList[i];
         T      copyTag   = (T)Activator.CreateInstance(sourceTag.GetType(), new object[] { this });
         copyTag.Assign(sourceTag);
         destList.Add(copyTag);
     }
 }
예제 #6
0
        public GDMRepositoryCitation AddRepository(GDMRepositoryRecord repRec)
        {
            GDMRepositoryCitation cit = null;

            if (repRec != null)
            {
                cit       = new GDMRepositoryCitation(this);
                cit.Value = repRec;
                fRepositoryCitations.Add(cit);
            }

            return(cit);
        }
예제 #7
0
        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));
            }
        }
예제 #8
0
        public GDMNotes AddNote(GDMNoteRecord noteRec)
        {
            GDMNotes note = null;

            if (noteRec != null)
            {
                note       = new GDMNotes(this);
                note.Value = noteRec;
                fNotes.Add(note);
            }

            return(note);
        }
예제 #9
0
        public GDMMultimediaLink AddMultimedia(GDMMultimediaRecord mediaRec)
        {
            GDMMultimediaLink mmLink = null;

            if (mediaRec != null)
            {
                mmLink       = new GDMMultimediaLink(this);
                mmLink.Value = mediaRec;
                fMultimediaLinks.Add(mmLink);
            }

            return(mmLink);
        }
예제 #10
0
        public GDMRepositoryCitation AddRepository(GDMRepositoryRecord repRec)
        {
            GDMRepositoryCitation cit = null;

            if (repRec != null)
            {
                cit      = new GDMRepositoryCitation();
                cit.XRef = repRec.XRef;
                fRepositoryCitations.Add(cit);
            }

            return(cit);
        }
예제 #11
0
        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)
                {
                }
            }
        }
예제 #12
0
        public bool AddCommunication(GDMCommunicationRecord commRecord)
        {
            bool result = false;

            if (commRecord != null)
            {
                GDMPointer ptr = new GDMPointer((int)GEDCOMTagType._COMM, string.Empty);
                ptr.XRef = commRecord.XRef;
                fCommunications.Add(ptr);
                result = true;
            }

            return(result);
        }
예제 #13
0
        public bool AddGroup(GDMGroupRecord groupRecord)
        {
            bool result = false;

            if (groupRecord != null)
            {
                GDMPointer ptr = new GDMPointer((int)GEDCOMTagType._GROUP, string.Empty);
                ptr.XRef = groupRecord.XRef;
                fGroups.Add(ptr);
                result = true;
            }

            return(result);
        }
예제 #14
0
        public bool AddTask(GDMTaskRecord taskRecord)
        {
            bool result = false;

            if (taskRecord != null)
            {
                GDMPointer ptr = new GDMPointer((int)GEDCOMTagType._TASK, string.Empty);
                ptr.XRef = taskRecord.XRef;
                fTasks.Add(ptr);
                result = true;
            }

            return(result);
        }
예제 #15
0
        public GDMSourceCitation AddSource(GDMSourceRecord sourceRec, string page, int quality)
        {
            GDMSourceCitation cit = null;

            if (sourceRec != null)
            {
                cit       = new GDMSourceCitation(this);
                cit.Value = sourceRec;
                cit.Page  = page;
                cit.CertaintyAssessment = quality;
                fSourceCitations.Add(cit);
            }

            return(cit);
        }
예제 #16
0
        public bool AddMember(GDMIndividualRecord member)
        {
            if (member == null)
            {
                return(false);
            }

            GDMIndividualLink mbrLink = new GDMIndividualLink(this, (int)GEDCOMTagType._MEMBER, string.Empty);

            mbrLink.Individual = member;
            fMembers.Add(mbrLink);

            var ptr = new GDMPointer(member, (int)GEDCOMTagType._GROUP, string.Empty);

            ptr.Value = this;
            member.Groups.Add(ptr);

            return(true);
        }
예제 #17
0
        public bool AddChild(GDMIndividualRecord child)
        {
            if (child == null)
            {
                return(false);
            }

            GDMIndividualLink ptr = new GDMIndividualLink(this, (int)GEDCOMTagType.CHIL, string.Empty);

            ptr.Individual = child;
            fChildren.Add(ptr);

            GDMChildToFamilyLink chLink = new GDMChildToFamilyLink(child);

            chLink.Family = this;
            child.ChildToFamilyLinks.Add(chLink);

            return(true);
        }
예제 #18
0
 public GDMTag AddEmailAddress(string value)
 {
     return(fEmailList.Add(GDMTag.Create(this, (int)GEDCOMTagType.EMAIL, value)));
 }
예제 #19
0
 public GDMTag AddEmailAddress(string value)
 {
     return(fEmailList.Add(new GDMValueTag((int)GEDCOMTagType.EMAIL, value)));
 }
예제 #20
0
 public GDMTag AddPhoneNumber(string value)
 {
     return(fPhoneList.Add(GDMTag.Create(this, (int)GEDCOMTagType.PHON, value)));
 }
예제 #21
0
 public GDMTag AddFaxNumber(string value)
 {
     return(fFaxList.Add(GDMTag.Create(this, (int)GEDCOMTagType.FAX, value)));
 }
예제 #22
0
파일: GDMTree.cs 프로젝트: chipsi/gedkeeper
 public GDMRecord AddRecord(GDMRecord record)
 {
     fRecords.Add(record);
     XRefIndex_AddRecord(record);
     return(record);
 }
예제 #23
0
 public GDMTag AddWebPage(string value)
 {
     return(fWWWList.Add(GDMTag.Create(this, (int)GEDCOMTagType.WWW, value)));
 }
예제 #24
0
 public GDMLanguage AddLanguage(GDMLanguage value)
 {
     fLanguages.Add(value);
     return(value);
 }
예제 #25
0
 public GDMTag AddPhoneNumber(string value)
 {
     return(fPhoneList.Add(new GDMValueTag((int)GEDCOMTagType.PHON, value)));
 }
예제 #26
0
 public GDMTag AddWebPage(string value)
 {
     return(fWWWList.Add(new GDMValueTag((int)GEDCOMTagType.WWW, value)));
 }
예제 #27
0
 public GDMTag AddFaxNumber(string value)
 {
     return(fFaxList.Add(new GDMValueTag((int)GEDCOMTagType.FAX, value)));
 }
예제 #28
0
 public GDMTag AddTag(GDMTag tag)
 {
     fTags.Add(tag);
     return(tag);
 }