Пример #1
0
        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);
        }