public static GEDCOMIndividualRecord CreateIndividualRecord(int recordNo) { var individual = new GEDCOMIndividualRecord(recordNo); GEDCOMNameStructure name; GEDCOMEventStructure birthEvent; GEDCOMEventStructure deathEvent; switch (recordNo) { case 1: name = new GEDCOMNameStructure("John /Smith/", individual.Level + 1); individual.Name = name; individual.Sex = Sex.Male; birthEvent = new GEDCOMEventStructure(individual.Level + 1, "BIRT", "10 Apr 1964", "AnyTown"); individual.ChildRecords.Add(birthEvent); deathEvent = new GEDCOMEventStructure(individual.Level + 1, "DEAT", "15 May 1998", "AnyTown"); individual.ChildRecords.Add(deathEvent); break; case 2: name = new GEDCOMNameStructure("Jane /Doe/", individual.Level + 1); individual.Name = name; individual.Sex = Sex.Female; birthEvent = new GEDCOMEventStructure(individual.Level + 1, "BIRT", "25 May 1967", "MyTown"); individual.ChildRecords.Add(birthEvent); break; case 3: name = new GEDCOMNameStructure("William /Jones/", individual.Level + 1); individual.Name = name; individual.Sex = Sex.Male; birthEvent = new GEDCOMEventStructure(individual.Level + 1, "BIRT", "31 Mar 1964", "MyTown"); individual.ChildRecords.Add(birthEvent); break; default: string firstName = String.Format(IND_FirstName, recordNo); string lastName = (recordNo < 5) ? IND_LastName : IND_AltLastName; name = new GEDCOMNameStructure(String.Format("{0} /{1}/", firstName, lastName), individual.Level + 1); individual.Name = name; break; } return(individual); }
public void AddIndividual(Individual individual) { Requires.NotNull("individual", individual); //Add to internal List Individuals.Add(individual); //Add underlying GEDCOM record individual.Id = _document.Records.GetNextId(GEDCOMTag.INDI).ToString(); var record = new GEDCOMIndividualRecord(individual.Id); var name = new GEDCOMNameStructure(String.Format("{0} /{1}/", individual.FirstName, individual.LastName), record.Level + 1); record.Name = name; record.Sex = individual.Sex; _document.AddRecord(record); //Update Family Info UpdateFamilyDetails(individual); }