private void LoadFamily(int individualId, int familyIndex) { ClearHusbandData(); ClearWifeData(); ClearMarriageData(); ClearChildrenData(); wifeParentId = -1; husbandParentId = -1; DataSet individual = DBAccessStatic.GetIndividual(individualId); if (individual.Tables[0].Rows[0]["Gender"].ToString() == "M") { husbandId = individualId; husbandParentId = (int)(individual.Tables[0].Rows[0]["ParentFamilyId"]); LoadHusbandData(individual); SetHusbandActive(); DataSet family = DBAccessStatic.GetFamilyForHusband(husbandId); if (family.Tables[0].Rows.Count > 0) { familyId = (int)(family.Tables[0].Rows[familyIndex]["ID"]); wifeId = (int)(family.Tables[0].Rows[familyIndex]["WifeId"]); if (wifeId != -1) { DataSet wife = DBAccessStatic.GetIndividual(wifeId); wifeParentId = (int)(wife.Tables[0].Rows[0]["ParentFamilyId"]); LoadWifeData(wife); } LoadMarriageData(family, familyIndex); } else { familyId = -1; wifeId = -1; } } else { wifeId = individualId; wifeParentId = (int)(individual.Tables[0].Rows[0]["ParentFamilyId"]); LoadWifeData(individual); SetWifeActive(); DataSet family = DBAccessStatic.GetFamilyForWife(wifeId); if (family.Tables[0].Rows.Count > 0) { familyId = (int)(family.Tables[0].Rows[familyIndex]["ID"]); husbandId = (int)(family.Tables[0].Rows[familyIndex]["HusbandId"]); if (husbandId != -1) { DataSet husband = DBAccessStatic.GetIndividual(husbandId); husbandParentId = (int)(husband.Tables[0].Rows[0]["ParentFamilyId"]); LoadHusbandData(husband); } LoadMarriageData(family, familyIndex); } else { familyId = -1; wifeId = -1; } } if (familyId != -1) { DataSet children = DBAccessStatic.GetFamilyChildren(familyId); LoadChildrenData(children); } history.Add(individualId); if (!history.IsEmpty()) { tbrBack.Enabled = true; } }