Exemplo n.º 1
0
        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;
            }
        }