void UpdateAllFields(XmlNode Node) { XmlNode TmpNode; GEDXMLUtilites.UpdateSingleField("NAME", txtName.Text, Node); if (rdoMale.Checked) { GEDXMLUtilites.UpdateSingleField("SEX", "M", Node); } else { GEDXMLUtilites.UpdateSingleField("SEX", "F", Node); } GEDXMLUtilites.UpdateCompoundDateField("BIRT", mdpBirth, Node); GEDXMLUtilites.UpdateCompoundDateField("DEAT", mdpDeath, Node); if (txtAKA.Text != "") { TmpNode = GEDXMLUtilites.UpdateSingleField("EVEN", txtAKA.Text, Node); GEDXMLUtilites.UpdateSingleField("TYPE", "AKA", TmpNode); } GEDXMLUtilites.UpdateSingleField("IMG", txtImage.Text, Node); GEDXMLUtilites.UpdateSingleField("NOTE", Note, Node); if (Source != null) { TmpNode = GEDXMLUtilites.UpdateSingleField("SOUR", GEDXMLUtilites.InsertEmpty, Node); GEDXMLUtilites.SetAttribute("REF", Source.ID, TmpNode); } //case "EMIG": // break; //case "OCCU": // break; }
void UpdateAllFields(XmlNode Node) { XmlNode TmpNode; GEDXMLUtilites.UpdateCompoundDateField("MARR", mdpMarriage, Node); GEDXMLUtilites.UpdateCompoundDateField("DIV", mdpDivorce, Node); if (lblHusband.Text != "") { TmpNode = GEDXMLUtilites.UpdateSingleField("HUSB", GEDXMLUtilites.InsertEmpty, Node); GEDXMLUtilites.SetAttribute("REF", lblHusband.Tag.ToString(), TmpNode); } else { GEDXMLUtilites.UpdateSingleField("HUSB", "", Node); } if (lblWife.Text != "") { TmpNode = GEDXMLUtilites.UpdateSingleField("WIFE", GEDXMLUtilites.InsertEmpty, Node); GEDXMLUtilites.SetAttribute("REF", lblWife.Tag.ToString(), TmpNode); } else { GEDXMLUtilites.UpdateSingleField("WIFE", "", Node); } // Children... string[] ChildIDs = new string[lstChildren.Items.Count]; for (int i = 0; i < lstChildren.Items.Count; i++) { ChildIDs[i] = ((GEDFileEntryIndi)lstChildren.Items[i]).ID; } GEDXMLUtilites.UpdateMultipleFieldAttr("CHIL", "REF", ChildIDs, Node); // And now make sure the various individuals are linked back... XmlNode tmpIndiNode; string MyID; MyID = Node.Attributes["ID"].Value; foreach (XmlNode Child in Node.ChildNodes) { try { string SourceID = Child.Attributes["REF"].Value; TmpNode = GEDXMLUtilites.GlobalLocateNodeByID(SourceID, "INDI", Child); if (TmpNode != null) { if (Child.Name.ToUpper() == "HUSB" || Child.Name.ToUpper() == "WIFE") { tmpIndiNode = GEDXMLUtilites.UpdateSingleField("FAMS", GEDXMLUtilites.InsertEmpty, TmpNode); GEDXMLUtilites.SetAttribute("REF", MyID, tmpIndiNode); } else if (Child.Name.ToUpper() == "CHIL") { tmpIndiNode = GEDXMLUtilites.UpdateSingleField("FAMC", GEDXMLUtilites.InsertEmpty, TmpNode); GEDXMLUtilites.SetAttribute("REF", MyID, tmpIndiNode); } } } catch (Exception) { } } }