/// <summary>
 /// Visits the name.
 /// </summary>
 /// <param name="name">The name to visit.</param>
 public override void VisitName(Gx.Conclusion.Name name)
 {
     if (name.Id != null)
     {
         this.dictionary.Add(name.Id, name);
     }
     base.VisitName(name);
 }
        public void TestMultipleNamePartsOnePartPerType()
        {
            NameForm nameForm = new NameForm("José Eduardo Santos Tavares Melo Silva")
              .SetLang("pt-BR")
              .SetPart(NamePartType.Given, "José Eduardo")
              .SetPart(NamePartType.Surname, "Santos Tavares Melo Silva");
            Name name = new Name().SetNameForm(nameForm);

            Gx.Gedcomx gx = new Gx.Gedcomx().SetPerson(new Person().SetName(name));
            xmlSerializer.Deserialize<Gx.Gedcomx>(xmlSerializer.Serialize(gx));
            jsonSerializer.Deserialize<Gx.Gedcomx>(jsonSerializer.Serialize(gx));
        }
        public void TestBasicWesternName()
        {
            NameForm nameForm = new NameForm("John Fitzgerald Kennedy")
              .SetLang("en")
              .SetPart(NamePartType.Given, "John")
              .SetPart(NamePartType.Given, "Fitzgerald")
              .SetPart(NamePartType.Surname, "Kennedy");
            Name name = new Name().SetNameForm(nameForm);

            Gx.Gedcomx gx = new Gx.Gedcomx().SetPerson(new Person().SetName(name));
            xmlSerializer.Deserialize<Gx.Gedcomx>(xmlSerializer.Serialize(gx));
            jsonSerializer.Deserialize<Gx.Gedcomx>(jsonSerializer.Serialize(gx));
        }
        public void TestMultipleJapaneseForms()
        {
            NameForm kanji = new NameForm("山田太郎")
              .SetLang("ja-Hani")
              .SetPart(NamePartType.Surname, "山田")
              .SetPart(NamePartType.Given, "太郎");
            NameForm katakana = new NameForm("ヤマダタロー")
              .SetLang("ja-Kana")
              .SetPart(NamePartType.Surname, "ヤマダ")
              .SetPart(NamePartType.Given, "タロー");
            NameForm romanized = new NameForm("Yamada Tarō")
              .SetLang("ja-Latn")
              .SetPart(NamePartType.Surname, "Tarō")
              .SetPart(NamePartType.Given, "Yamada");
            Name name = new Name().SetNameForm(kanji).SetNameForm(katakana).SetNameForm(romanized);

            Gx.Gedcomx gx = new Gx.Gedcomx().SetPerson(new Person().SetName(name));
            xmlSerializer.Deserialize<Gx.Gedcomx>(xmlSerializer.Serialize(gx));
            jsonSerializer.Deserialize<Gx.Gedcomx>(jsonSerializer.Serialize(gx));
        }
        public virtual void VisitName(Name name)
        {
            this.contextStack.Push(name);
            VisitConclusion(name);

            List<NameForm> forms = name.NameForms;
            if (forms != null)
            {
                foreach (NameForm form in forms)
                {
                    form.Accept(this);
                }
            }
            this.contextStack.Pop();
        }
 public override void VisitName(Name name)
 {
     CreateSubRecordVisit(() => base.VisitName(name));
 }
 public void TestPatronymic()
 {
     NameForm nameForm = new NameForm("Björk Guðmundsdóttir")
       .SetLang("is")
       .SetPart(NamePartType.Given, "Björk")
       .SetPart(new NamePart().SetValue("Guðmundsdóttir").SetQualifier(new Qualifier(NamePartQualifierType.Patronymic)));
     Name name = new Name().SetNameForm(nameForm);
     
     Gx.Gedcomx gx = new Gx.Gedcomx().SetPerson(new Person().SetName(name));
     xmlSerializer.Deserialize<Gx.Gedcomx>(xmlSerializer.Serialize(gx));
     jsonSerializer.Deserialize<Gx.Gedcomx>(jsonSerializer.Serialize(gx));
 }
        /// <summary>
        /// Visits the name.
        /// </summary>
        /// <param name="name">The name to visit.</param>
        public virtual void VisitName(Name name)
        {
            this.contextStack.Push(name);
            VisitConclusion(name);

            if (name.NameForms != null)
            {
                foreach (NameForm form in name.NameForms)
                {
                    VisitNameForm(form);
                }
            }
            this.contextStack.Pop();
        }
 public override void VisitName(Name name)
 {
     BindIfNeeded(name);
     base.VisitName(name);
 }
Exemple #10
0
 /**
  * Add a name conclusion to the person.
  *
  * @param name The name conclusion to be added.
  */
 public void AddName(Name name)
 {
     if (name != null)
     {
         if (_names == null)
         {
             _names = new List<Name>();
         }
         _names.Add(name);
     }
 }
Exemple #11
0
 /**
  * Build out this person with a name.
  * @param name The name.
  * @return this.
  */
 public Person SetName(Name name)
 {
     AddName(name);
     return this;
 }
        private Person CreateGeorge(PlaceDescription birthPlace, PlaceDescription deathPlace)
        {
            Person person = new Person();
            person.SetGender(new Gender(GenderType.Male));

            Fact fact = new Fact();
            fact.SetId("123");
            fact.SetType(FactType.Birth);

            fact.SetDate(new DateInfo());
            fact.Date.SetOriginal("February 22, 1732");
            fact.Date.SetFormal("+1732-02-22");

            fact.SetPlace(new PlaceReference());
            fact.Place.SetOriginal(birthPlace.Names[0].Value.ToLower());
            fact.Place.DescriptionRef = "#" + birthPlace.Id;

            person.AddFact(fact);

            fact = new Fact();
            fact.SetId("456");
            fact.SetType(FactType.Death);

            fact.SetDate(new DateInfo());
            fact.Date.SetOriginal("December 14, 1799");
            fact.Date.SetFormal("+1799-12-14T22:00:00");

            fact.SetPlace(new PlaceReference());
            fact.Place.SetOriginal(deathPlace.Names[0].Value.ToLower());
            fact.Place.DescriptionRef = "#" + deathPlace.Id;

            person.AddFact(fact);

            List<Name> names = new List<Name>();
            Name name = new Name();
            NameForm nameForm = new NameForm();
            nameForm.SetFullText("George Washington");
            List<NamePart> parts = new List<NamePart>();
            NamePart part = new NamePart();
            part.SetType(NamePartType.Given);
            part.SetValue("George");
            parts.Add(part);
            part = new NamePart();
            part.SetType(NamePartType.Surname);
            part.SetValue("Washington");
            parts.Add(part);
            nameForm.Parts = parts;
            name.SetNameForm(nameForm);
            name.SetId("789");
            names.Add(name);
            person.Names = names;

            person.SetId("BBB-BBBB");

            return person;
        }
        private Person CreateMartha(PlaceDescription birthPlace, PlaceDescription deathPlace)
        {
            Person person = new Person();
            person.SetGender(new Gender(GenderType.Male));

            Fact fact = new Fact();
            fact.SetId("321");
            fact.SetType(FactType.Birth);

            fact.SetDate(new DateInfo());
            fact.Date.SetOriginal("June 2, 1731");
            fact.Date.SetFormal("+1731-06-02");

            fact.SetPlace(new PlaceReference());
            fact.Place.SetOriginal(birthPlace.Names[0].Value.ToLower());
            fact.Place.DescriptionRef = "#" + birthPlace.Id;

            person.AddFact(fact);

            fact = new Fact();
            fact.SetId("654");
            fact.SetType(FactType.Death);

            fact.SetDate(new DateInfo());
            fact.Date.SetOriginal("May 22, 1802");
            fact.Date.SetFormal("+1802-05-22");

            fact.SetPlace(new PlaceReference());
            fact.Place.SetOriginal(deathPlace.Names[0].Value.ToLower());
            fact.Place.DescriptionRef = "#" + deathPlace.Id;

            person.AddFact(fact);

            List<Name> names = new List<Name>();
            Name name = new Name();
            NameForm nameForm = new NameForm();
            nameForm.SetFullText("Martha Dandridge Custis");
            List<NamePart> parts = new List<NamePart>();
            NamePart part = new NamePart();
            part.SetType(NamePartType.Given);
            part.SetValue("Martha Dandridge");
            parts.Add(part);
            part = new NamePart();
            part.SetType(NamePartType.Surname);
            part.SetValue("Custis");
            parts.Add(part);
            nameForm.Parts = parts;
            name.SetNameForm(nameForm);
            name.SetId("987");
            names.Add(name);
            person.Names = names;

            person.SetId("CCC-CCCC");

            return person;
        }