Пример #1
0
        public bool SaveTree(string fileName, GenTree tree)
        {
            XDocument xmlTree = new XDocument();
            XElement  root    = new XElement("tree");

            try
            {
                root.SetAttributeValue("name", tree.Name);
                root.SetAttributeValue("createDate", tree.DateOfCreate.ToString());
                root.SetAttributeValue("lastEditDate", tree.DateOfLastEdit.ToString());
                root.SetAttributeValue("id", tree.ID);
                root.SetAttributeValue("information", tree.Information);

                XElement      xPersons    = new XElement("persons");
                List <Person> persons     = tree.Persons.GetPersonsList();
                PersonToXml   personToXml = new PersonToXml();
                XElement      xPerson;
                foreach (Person person in persons)
                {
                    if (personToXml.AddToElement(person, out xPerson))
                    {
                        xPersons.Add(xPerson);
                    }
                    else
                    {
                        return(false);
                    }
                }
                root.Add(xPersons);

                XElement xTable = new XElement("table");
                List <RelationBetweenTwoPerson> relations = tree.Relations.GetRelationList();
                RelationToXml relationToXml = new RelationToXml();
                XElement      xRelation;
                foreach (RelationBetweenTwoPerson relation in relations)
                {
                    if (!relationToXml.AddToElement(relation, out xRelation))
                    {
                        return(false);
                    }
                    else
                    {
                        xTable.Add(xRelation);
                    }
                }
                root.Add(xTable);
                xmlTree.Add(root);
                xmlTree.Save(fileName);
                return(true);
            }
            catch (Exception)
            {
                return(false);
            }
        }
Пример #2
0
        public bool SaveTree(string fileName, GenTree tree)
        {
            XDocument xmlTree = new XDocument();
            XElement root = new XElement("tree");
            try
            {
                root.SetAttributeValue("name", tree.Name);
                root.SetAttributeValue("createDate", tree.DateOfCreate.ToString());
                root.SetAttributeValue("lastEditDate", tree.DateOfLastEdit.ToString());
                root.SetAttributeValue("id", tree.ID);
                root.SetAttributeValue("information", tree.Information);

                XElement xPersons = new XElement("persons");
                List<Person> persons = tree.Persons.GetPersonsList();
                PersonToXml personToXml = new PersonToXml();
                XElement xPerson;
                foreach (Person person in persons)
                {
                    if (personToXml.AddToElement(person, out xPerson))
                    {
                        xPersons.Add(xPerson);
                    }
                    else return false;
                }
                root.Add(xPersons);

                XElement xTable = new XElement("table");
                List<RelationBetweenTwoPerson> relations = tree.Relations.GetRelationList();
                RelationToXml relationToXml = new RelationToXml();
                XElement xRelation;
                foreach(RelationBetweenTwoPerson relation in relations)
                {
                if (!relationToXml.AddToElement(relation, out xRelation))
                {
                    return false;
                }
                else
                    xTable.Add(xRelation);
                }
                root.Add(xTable);
                xmlTree.Add(root);
                xmlTree.Save(fileName);
                return true;
            }
            catch (Exception)
            {
                return false;
            }
        }