public formIndividual(Form parentForm, Quatre quatre, Individual individual)
 {
     this.quatre = quatre;
     this.individual = individual;
     this.parentform = parentForm;
     this.individualid = individual.ID;
     isnew = false;
     InitializeComponent();
 }
 public formIndividual(Form parentForm, Quatre quatre)
 {
     this.quatre = quatre;
     this.parentform = parentForm;
     isnew = true;
     individual = new Individual();
     individual.ID = quatre.NextIndividualID;
     InitializeComponent();
 }
Esempio n. 3
0
        public formFamily(Form parentForm, Quatre quatre, Individual husbandOrWife)
        {
            this.parentform = parentForm;
            this.quatre = quatre;
            family = new Family();
            isnew = true;
            family.ID = quatre.NextFamilyID;

            if (husbandOrWife.Sex.Equals(enums.Sex.Male))
            {
                family.Husband = husbandOrWife;
            }
            else
            {
                family.Wife = husbandOrWife;
            }

            InitializeComponent();
        }
        private String buildChildren(Family family)
        {
            Boolean ploral = family.Ploral;
            Boolean primaryMale = family.PrimaryMale;

            String response = "";

            if (family.Children.Count > 0)
            {

                response += "<ol type=\"i\">";

                if (ploral)
                {
                    response += "They had the following children";
                }
                else
                {
                    if (primaryMale)
                    {
                        response += "He had the following children";
                    }
                    else
                    {
                        response += "She had the following children";
                    }
                }

                int childcounter = 1;
                foreach (Individual child in family.Children)
                {
                    response += "<li type=\"i\" id=\"I" + child.ID + "\">";
                    //response += "<label style=\"width:30px\">(" + Utilities.ToRoman(childcounter) + ")</label>";

                    if (child.Sex.Equals(enums.Sex.Male)) response += " (M) ";
                    if (child.Sex.Equals(enums.Sex.Female)) response += " (F) ";
                    if (child.Sex.Equals(enums.Sex.Unknown)) response += " (X) ";

                    String linktext = child.DisplayName;

                    if (child.Families.Count > 0)
                    {
                        if (!child.Families.Count.Equals(1))
                        {
                            String anchorhref = "/genealogy/" + getGenerationString(child.Generation) + "-generation/#I" + child.ID.ToString();
                            response += "<a href=\"" + anchorhref + "\">" + linktext + "</a>";
                            if (!child.DOB.Equals(""))
                            {
                                response += " born on " + child.DOB;
                            }
                        }
                        foreach (Family childfamily in child.Families.Values)
                        {
                            if (child.Families.Count.Equals(1))
                            {
                                String anchorhref = "/genealogy/" + getGenerationString(child.Generation) + "-generation/#F" + childfamily.ID.ToString();
                                response += "<a href=\"" + anchorhref + "\">" + linktext + "</a>";
                            }
                            else
                            {
                                response += "<div>";
                                response += " married ";

                                Individual spouse;
                                if (childfamily.Husband != null)
                                {
                                    if (childfamily.Husband.ID.Equals(child.ID))
                                    {
                                        spouse = childfamily.Wife;
                                    }
                                    else
                                    {
                                        spouse = childfamily.Husband;
                                    }
                                }
                                else
                                {
                                    if (childfamily.Wife.ID == child.ID)
                                    {
                                        spouse = new Individual();
                                        spouse.Name = "Unknown";
                                        spouse.Givenname = "Unknown";
                                    }
                                    else
                                    {
                                        spouse = childfamily.Wife;
                                    }
                                }

                                if (spouse != null)
                                {
                                    String anchorhref = "/genealogy/" + getGenerationString(child.Generation) + "-generation/#F" + childfamily.ID.ToString();
                                    response += "<a href=\"" + anchorhref + "\">" + spouse.DisplayName + "</a>";

                                    if (!spouse.DOB.Equals(""))
                                    {
                                        response += ", born on " + spouse.DOB;
                                    }
                                }

                                if (childfamily.DateDivorsed.Equals(""))
                                {
                                    if (!childfamily.DateMarried.Equals(""))
                                    {
                                        response += ", married on " + childfamily.DateMarried;
                                    }
                                }
                                else
                                {
                                    response += ", the marriage ended in divorce on " + childfamily.DateDivorsed;
                                }

                                response += "</div>";
                            }
                        }
                    }
                    else
                    {
                        response += linktext;
                    }

                    childcounter++;
                    response += "</li>";
                }
                response += "</ol>";
            }
            return response;
        }
 private int countParents(Individual child, int counter)
 {
     int total = counter;
     if (child.FromFamily != null)
     {
         total = countParents(child.FromFamily.Primary, total+1);
     }
     return total;
 }
 private void performSelect()
 {
     if (listIndividuals.SelectedItems.Count > 0)
     {
         this.selectedindividual = (Individual)this.individuals[(int)listIndividuals.SelectedItems[0].Tag];
         if (this.selectonly)
         {
             this.Close();
         }
         else
         {
             formIndividual form = new formIndividual(this, quatre, this.selectedindividual);
             form.StartPosition = FormStartPosition.CenterParent;
             form.ShowDialog(this);
             DrawDetails();
         }
     }
 }
 private void listIndividuals_SelectedIndexChanged(object sender, EventArgs e)
 {
     if (listIndividuals.SelectedItems.Count > 0)
     {
         this.selectedindividual = (Individual)this.individuals[(int)listIndividuals.SelectedItems[0].Tag];
         DrawDetails();
     }
 }
 private void listIndividuals_DoubleClick(object sender, EventArgs e)
 {
     if (listIndividuals.SelectedItems.Count > 0)
     {
         this.selectedindividual = (Individual)this.individuals[(int)listIndividuals.SelectedItems[0].Tag];
         formIndividual form = new formIndividual(this, quatre, this.selectedindividual);
         form.StartPosition = FormStartPosition.CenterParent;
         form.ShowDialog(this);
         DrawDetails();
     }
 }
Esempio n. 9
0
 public string SpouseName(Individual primary)
 {
     if (this.Secondary != null)
     {
         return this.Secondary.DisplayName;
     }
     else
     {
         return "Unknown";
     }
 }
Esempio n. 10
0
 public void addChild(Individual child)
 {
     this.children.Add(child);
 }
Esempio n. 11
0
        public void LoadXML(XmlDocument xmlDocument)
        {
            maxfamilyid = 0;
            maxindividualid = 0;

            XmlNodeList individualnodes = xmlDocument.SelectNodes("//quatre/individuals/individual");
            foreach (XmlNode node in individualnodes)
            {
                Individual individual = new Individual();
                individual.ID = Convert.ToInt16(node.Attributes["id"].Value);
                if (individual.ID > maxindividualid) maxindividualid = individual.ID;

                if(node.Attributes["fromfamilyid"]!=null){
                    individual.FromFamily = getFamily(Convert.ToInt16(node.Attributes["fromfamilyid"].Value));
                }
                individual.Name = node.SelectSingleNode("name").InnerText;
                individual.Givenname = node.SelectSingleNode("givenname").InnerText;
                individual.Surname = node.SelectSingleNode("surname").InnerText;
                individual.DOB = node.SelectSingleNode("dob").InnerText;
                individual.PlaceOfBirth = node.SelectSingleNode("placeofbirth").InnerText;
                individual.DOD = node.SelectSingleNode("dod").InnerText;
                individual.Profession = node.SelectSingleNode("profession").InnerText;
                individual.Notes = node.SelectSingleNode("notes").InnerText;
                string sex = node.SelectSingleNode("sex").InnerText;
                if (sex.Equals("M")) individual.Sex = enums.Sex.Male;
                if (sex.Equals("F")) individual.Sex = enums.Sex.Female;
                XmlNodeList subfamilynodes = node.SelectNodes("families/family");
                foreach (XmlNode subfamilynode in subfamilynodes)
                {
                    Family subfamily = getFamily(Convert.ToInt16(subfamilynode.Attributes["id"].Value));
                    individual.AddFamily(subfamily.ID, subfamily);
                }
                individuals.Add(individual.ID, individual);
            }

            XmlNodeList familynodes = xmlDocument.SelectNodes("//quatre/families/family");
            foreach (XmlNode node in familynodes)
            {
                int famid = Convert.ToInt16(node.Attributes["id"].Value);
                Family family = getFamily(famid);
                if (famid > maxfamilyid) maxfamilyid = famid;

                if (node.Attributes["husbandid"] != null)
                {
                    int husbandid = Convert.ToInt16(node.Attributes["husbandid"].Value);
                    family.Husband = (Individual)individuals[husbandid];
                }

                if (node.Attributes["wifeid"] != null)
                {
                    int wifeid = Convert.ToInt16(node.Attributes["wifeid"].Value);
                    family.Wife = (Individual)individuals[wifeid];
                }

                family.DateMarried = node.SelectSingleNode("datemarried").InnerText;
                family.PlaceMarried = node.SelectSingleNode("placemarried").InnerText;
                family.DateDivorsed = node.SelectSingleNode("datedivorsed").InnerText;
                family.Notes = node.SelectSingleNode("notes").InnerText;

                XmlNodeList childrennodes = node.SelectNodes("children/child");
                foreach (XmlNode childnode in childrennodes)
                {
                    int childid = Convert.ToInt16(childnode.Attributes["id"].Value);
                    Individual child = (Individual)individuals[childid];
                    family.addChild(child);
                }
            }
        }
Esempio n. 12
0
        public GEDReader(String filePath)
        {
            StreamReader file = new StreamReader(filePath);
            Boolean donereading = false;

            int linecount = 0;

            String line = file.ReadLine();
            linecount++;

            while(!donereading){

                if (line != null)
                {
                    if (line.EndsWith("INDI"))
                    {
                        Individual indi = new Individual();
                        indi.ID = Convert.ToInt16(line.Substring(2, line.Length - 7).Replace("@", "").Replace("I", ""));
                        if (indi.ID > maxindividualid) maxindividualid = indi.ID;
                        String indiline = "";
                        while (!indiline.Trim().Equals("1 CHAN"))
                        {
                            indiline = file.ReadLine();
                            linecount++;

                            if (indiline.StartsWith("1 NAME")) indi.Name = indiline.Substring(7);
                            if (indiline.StartsWith("2 SURN")) indi.Surname = indiline.Substring(7);
                            if (indiline.StartsWith("2 GIVN")) indi.Givenname = indiline.Substring(7);
                            if (indiline.StartsWith("1 SEX")){
                                if(indiline.Substring(6).Trim().Equals("F")) indi.Sex = enums.Sex.Female;
                                if(indiline.Substring(6).Trim().Equals("M")) indi.Sex = enums.Sex.Male;
                            }
                            if (indiline.StartsWith("2 DATE")) indi.DOB = indiline.Substring(7);
                            if (indiline.StartsWith("1 FAMS"))
                            {
                                Family fam = getFamily(ConvertToID(indiline.Substring(7)));
                                indi.AddFamily(fam.ID, fam);
                            }
                            if (indiline.StartsWith("1 FAMC"))
                            {
                                Family fromfam = getFamily(ConvertToID(indiline.Substring(7)));
                                indi.FromFamily = fromfam;
                            }
                        }

                        individuals.Add(indi.ID, indi);

                        file.ReadLine(); //read date
                        linecount++;
                        file.ReadLine(); //read time
                        linecount++;

                        line = file.ReadLine();
                        linecount++;

                    }
                    else if (line.Trim().EndsWith("FAM"))
                    {
                        int famid = ConvertToID(line.Substring(2, line.Length - 5));
                        if (famid > maxfamilyid) maxfamilyid = famid;

                        Family fam = getFamily(famid);
                        String famline = "";

                        while (famline!=null && !famline.Trim().EndsWith("FAM"))
                        {
                        //1 DIV
                            if (famline.StartsWith("1 HUSB")) fam.Husband = (Individual)individuals[ConvertToID(famline.Substring(7))];
                            if (famline.StartsWith("1 WIFE")) fam.Wife = (Individual)individuals[ConvertToID(famline.Substring(7))];
                            if (famline.StartsWith("1 CHIL")) fam.addChild((Individual)individuals[ConvertToID(famline.Substring(7))]);

                            if (famline.EndsWith("1 DIV"))
                            {
                                famline = file.ReadLine();
                                linecount++;
                                if (famline.StartsWith("2 DATE")) fam.DateDivorsed = famline.Substring(7);
                            }

                            if (famline.StartsWith("1 MARR"))
                            {
                                famline = file.ReadLine();
                                linecount++;
                                if (famline.StartsWith("2 DATE")) fam.DateMarried = famline.Substring(7);
                                if (famline.StartsWith("2 PLAC")) fam.PlaceMarried = famline.Substring(7);
                            }

                            famline = file.ReadLine();
                            linecount++;
                        }

                        line = famline;

                    }
                    else if (line.EndsWith("0 TRLR"))
                    {
                        donereading = true;
                    }
                    else
                    {
                        line = file.ReadLine();
                        linecount++;
                    }
                }
                else
                {
                    donereading = true;
                }

            }

            file.Close();
        }
Esempio n. 13
0
        public GEDReader(String filePath)
        {
            StreamReader file = new StreamReader(filePath);
            Boolean donereading = false;

            String line = file.ReadLine();

            while(!donereading){

                if (line != null)
                {
                    if (line.EndsWith("INDI"))
                    {
                        Individual indi = new Individual();
                        indi.ID = line.Substring(2, line.Length - 7);
                        String indiline = "";
                        while (!indiline.Trim().Equals("1 CHAN"))
                        {
                            indiline = file.ReadLine();
                            if (indiline.StartsWith("1 NAME"))  indi.Name = indiline.Substring(7);
                            if (indiline.StartsWith("2 SURN")) indi.Surname = indiline.Substring(7);
                            if (indiline.StartsWith("2 GIVN")) indi.Givenname = indiline.Substring(7);
                            if (indiline.StartsWith("1 SEX")){
                                if(indiline.Substring(6).Trim().Equals("F")) indi.Sex = enums.Sex.Female;
                                if(indiline.Substring(6).Trim().Equals("M")) indi.Sex = enums.Sex.Male;
                            }
                            if (indiline.StartsWith("2 DATE")) indi.DOB = indiline.Substring(7);
                        }

                        individuals.Add(indi.ID, indi);

                        file.ReadLine(); //read date
                        file.ReadLine(); //read time

                        line = file.ReadLine();

                    }
                    else if (line.EndsWith("FAM"))
                    {
                        Family fam = new Family();
                        fam.ID = line.Substring(2, line.Length - 5);
                        String famline = "";

                        while (famline!=null && !famline.Trim().EndsWith("FAM"))
                        {
                        //1 DIV
                            if (famline.StartsWith("1 HUSB")) fam.Husband = (Individual)individuals[famline.Substring(7)];
                            if (famline.StartsWith("1 WIFE")) fam.Wife = (Individual)individuals[famline.Substring(7)];
                            if (famline.StartsWith("1 CHIL")) fam.addChild((Individual)individuals[famline.Substring(7)]);

                            if (famline.EndsWith("1 DIV"))
                            {
                                famline = file.ReadLine();
                                if (famline.StartsWith("2 DATE")) fam.DateDivorsed = famline.Substring(7);
                            }

                            if (famline.StartsWith("1 MARR"))
                            {
                                famline = file.ReadLine();
                                if (famline.StartsWith("2 DATE")) fam.DateMarried = famline.Substring(7);
                                if (famline.StartsWith("2 PLAC")) fam.PlaceMarried = famline.Substring(7);
                            }

                            famline = file.ReadLine();
                        }

                        families.Add(fam.ID, fam);

                        line = famline;

                    }
                    else if (line.EndsWith("0 TRLR"))
                    {
                        donereading = true;
                    }
                    else
                    {
                        line = file.ReadLine();
                    }
                }
                else
                {
                    donereading = true;
                }

            }

            file.Close();
        }
 private void loadIndividual()
 {
     Hashtable individuals = quatre.Individuals;
     individual = (Individual)individuals[this.individualid];
 }
 private void cancelButton_Click(object sender, EventArgs e)
 {
     this.individual = null;
     this.Close();
 }