public void AddIndividual(IndividualClass individual) { if (individual == null) { trace.TraceData(TraceEventType.Error, 0, "GeniCache: Trying to add individual == null"); } else if (individual.GetXrefName().Length == 0) { trace.TraceEvent(TraceEventType.Error, 0, "GeniCache:AddIndividual():error: no xref!"); } else { bool relations = false; trace.TraceInformation("cached individual " + individual.GetXrefName()); if (individual.GetFamilyChildList() != null) { if (individual.GetFamilyChildList().Count > 0) { relations = true; } } if (individual.GetFamilySpouseList() != null) { if (individual.GetFamilySpouseList().Count > 0) { relations = true; } } if (!relations) { if (individual.GetPublic()) { string url = ""; IList <string> urls = individual.GetUrlList(); if (urls.Count > 0) { url = urls[0]; } trace.TraceData(TraceEventType.Information, 0, "Person has no relations! " + individual.GetXrefName() + " " + url + " " + individual.GetName()); } CheckF2iReferences(ref individual); } CacheIndividual(individual); latestUpdate = DateTime.Now; } }