public static void SaveRecentExperimentListToXML(RecentExperimentList pList, string pFilepath)
        {
            XmlWriterSettings settings = new XmlWriterSettings();
            settings.Indent = true;
            settings.CloseOutput = true;
            settings.CheckCharacters = true;

            // Create file
            using (System.Xml.XmlWriter writer = XmlWriter.Create(pFilepath, settings))
            {
                writer.WriteStartDocument();
                writer.WriteStartElement("RecentExperiments");

                foreach (var item in pList)
                {
                    writer.WriteStartElement("RecentExperimentItem");
                    writer.WriteAttributeString("FullPath", item.FullPath);
                    //writer.WriteAttributeString("Filename", item.Filename);
                    writer.WriteAttributeString("LastAccessTime", item.LastAccessTime.ToString());
                    writer.WriteEndElement(); // RecentExperimentItem
                }

                writer.WriteEndElement(); // RecentExperiments
                writer.WriteEndDocument();
                writer.Close();
            }
        }
Esempio n. 2
0
        public StartPageModel(ApplicationViewModelWrapper wrapper)
        {
            this.m_wrapper = wrapper;
            this.m_new     = m_wrapper.New;
            this.m_open    = m_wrapper.Open;

            this.m_recentExperiments = m_wrapper.RecentExperiments;
            this.m_links             = m_wrapper.Links;
            this.m_videos            = m_wrapper.Videos;
        }
        public static RecentExperimentList LoadRecentExperimentListFromXML(string pFilepath)
        {
            RecentExperimentList list = new RecentExperimentList();

            if (System.IO.File.Exists(pFilepath))
            {
                try
                {
                    System.Xml.XPath.XPathDocument doc = new System.Xml.XPath.XPathDocument(pFilepath);
                    System.Xml.XPath.XPathNavigator nav = doc.CreateNavigator();

                    System.Xml.XPath.XPathNodeIterator itemIterator = nav.Select("/RecentExperiments/RecentExperimentItem");
                    int numItems = itemIterator.Count;

                    string fullpath, time;
                    while (itemIterator.MoveNext())
                    {
                        fullpath = itemIterator.Current.GetAttribute("FullPath", String.Empty);
                        time = itemIterator.Current.GetAttribute("LastAccessTime", String.Empty);

                        RecentExperimentReference item = RecentExperimentReference.CreateRecentExperimentItem(fullpath, time);
                        if (item != null)
                        {
                            list.AddLast(item);
                        }
                    }

                    if (list.Count != numItems)
                    {
                        RecentExperimentsHelper.SaveRecentExperimentListToXML(list, pFilepath);
                    }
                }
                catch (XmlException)
                {
                    System.IO.File.Delete(pFilepath);
                    list.Clear();
                }
            }

            return list;
        }
        public StartPageModel(ApplicationViewModelWrapper wrapper)
        {
            this.m_wrapper = wrapper;
            this.m_new = m_wrapper.New;
            this.m_open = m_wrapper.Open;

            this.m_recentExperiments = m_wrapper.RecentExperiments;
            this.m_links = m_wrapper.Links;
            this.m_videos = m_wrapper.Videos;
        }