private void ProcessRootLevel(string[] lineArray) { switch (_currentRecord) { case GedcomRecordEnum.Individual: Individuals.Add(_currentIndividual); break; case GedcomRecordEnum.Family: Families.Add(_currentFamily); break; case GedcomRecordEnum.Note: Notes.Add(_currentNote); break; } if (lineArray[1] == "HEAD") { _currentRecord = GedcomRecordEnum.Header; _currentSubRecord = GedcomSubRecordEnum.None; } else if (lineArray[1].IndexOf("@") >= 0) { switch (lineArray[2]) { case "INDI": _currentRecord = GedcomRecordEnum.Individual; _currentIndividual = new Individual { Id = lineArray[1] }; _currentSubRecord = GedcomSubRecordEnum.None; break; case "FAM": _currentRecord = GedcomRecordEnum.Family; _currentFamily = new Family { Id = lineArray[1] }; _currentSubRecord = GedcomSubRecordEnum.None; break; case "NOTE": _currentRecord = GedcomRecordEnum.Note; _currentNote = new Note { Id = lineArray[1] }; _currentSubRecord = GedcomSubRecordEnum.None; break; } } }
private void ProcessRootLevel(string[] lineArray) { switch (_currentRecord) { case GedcomRecordEnum.Individual: Individuals.Add(_currentIndividual); break; case GedcomRecordEnum.Family: Families.Add(_currentFamily); break; case GedcomRecordEnum.Note: Notes.Add(_currentNote); break; } if (lineArray[1] == "HEAD") { _currentRecord = GedcomRecordEnum.Header; _currentSubRecord = GedcomSubRecordEnum.None; } else if (lineArray[1].IndexOf("@") >= 0) { switch (lineArray[2]) { case "INDI": _currentRecord = GedcomRecordEnum.Individual; _currentIndividual = new Individual { Id = lineArray[1] }; _currentSubRecord = GedcomSubRecordEnum.None; break; case "FAM": _currentRecord = GedcomRecordEnum.Family; _currentFamily = new Family { Id = lineArray[1] }; _currentSubRecord = GedcomSubRecordEnum.None; break; case "NOTE": _currentRecord = GedcomRecordEnum.Note; _currentNote = new Note { Id = lineArray[1] }; _currentSubRecord = GedcomSubRecordEnum.None; break; } } }
public void ProcessRootLevel(string[] lineArray) { switch (currentRecord) { case GedcomRecordEnum.Individual: gedcomIndividuals.Add(currentGedcomIndividual.Id, currentGedcomIndividual); break; case GedcomRecordEnum.Family: if (!gedcomFamilies.ContainsKey(currentGedcomFamily.Id)) { gedcomFamilies.Add(currentGedcomFamily.Id, currentGedcomFamily); } break; case GedcomRecordEnum.Note: if (!gedcomNotes.ContainsKey(currentGedcomNote.Id)) { gedcomNotes.Add(currentGedcomNote.Id, currentGedcomNote); } break; case GedcomRecordEnum.Source: if (!gedcomSources.ContainsKey(currentGedcomSource.Id)) { gedcomSources.Add(currentGedcomSource.Id, currentGedcomSource); } break; } if (lineArray[1] == "HEAD") { currentRecord = GedcomRecordEnum.Header; currentSubRecord = GedcomSubRecordEnum.None; } else if (lineArray[1].IndexOf("@") >= 0) { switch (lineArray[2].Substring(0, 4)) { case "INDI": currentRecord = GedcomRecordEnum.Individual; currentGedcomIndividual = new GedcomIndividual(lineArray[1]); currentSubRecord = GedcomSubRecordEnum.None; break; case "FAM": currentRecord = GedcomRecordEnum.Family; currentGedcomFamily = new GedcomFamily(lineArray[1]); currentSubRecord = GedcomSubRecordEnum.None; break; case "NOTE": currentRecord = GedcomRecordEnum.Note; currentGedcomNote = new GedcomNote(lineArray[1]); currentSubRecord = GedcomSubRecordEnum.None; break; case "SOUR": currentRecord = GedcomRecordEnum.Source; currentGedcomSource = new GedcomSource(lineArray[1]); currentSubRecord = GedcomSubRecordEnum.None; break; } } }