private void UpdateFamilyDetails(Individual individual) { var familyRecord = _document.SelectChildsFamilyRecord(GEDCOMUtil.CreateId("I", individual.Id)); if (familyRecord != null) { if (individual.FatherId != GEDCOMUtil.GetId(familyRecord.Husband) || individual.MotherId != GEDCOMUtil.GetId(familyRecord.Wife)) { //remove child from current family RemoveIndividualFromFamilyRecord(individual, familyRecord, GEDCOMTag.CHIL); familyRecord = GetFamilyRecord(individual); if (familyRecord != null) { //Add Individual as Child familyRecord.AddChild(GEDCOMUtil.CreateId("I", individual.Id)); } else { //new Family CreateNewFamily(individual); } } } else { if (!string.IsNullOrEmpty(individual.FatherId) || !string.IsNullOrEmpty(individual.MotherId)) { familyRecord = GetFamilyRecord(individual); if (familyRecord != null) { //Add Individual as Child familyRecord.AddChild(GEDCOMUtil.CreateId("I", individual.Id)); } else { //new Family CreateNewFamily(individual); } } } }
public void GEDCOMDocument_SelectChildsFamilyRecord_Throws_On_Null_Or_Empty_ChildId(string fileName, string childId) { //Arrange var document = new GEDCOMDocument(); document.LoadGEDCOM(GetEmbeddedFileString(fileName)); //Act, Assert Assert.Throws <ArgumentNullException>(() => document.SelectChildsFamilyRecord(childId)); }
public void GEDCOMDocument_SelectChildsFamilyRecord_Returns_Null_When_Given_InValid_ChildId(string fileName, string childId) { //Arrange var document = new GEDCOMDocument(); document.LoadGEDCOM(GetEmbeddedFileString(fileName)); //Act var record = document.SelectChildsFamilyRecord(childId); //Assert Assert.IsNull(record); }