From 799cf1844a12711a5a0709d533bb64178922faa8 Mon Sep 17 00:00:00 2001 From: Tim Young Date: Sat, 29 Jul 2017 09:11:36 -0500 Subject: [PATCH] Load/save person class and schoolwork class --- EduNetworkBuilder/Network.cs | 9 +++- EduNetworkBuilder/PersonClass.cs | 12 +---- EduNetworkBuilder/SchoolworkClass.cs | 66 ++++++++++++++++++++++++++++ 3 files changed, 75 insertions(+), 12 deletions(-) diff --git a/EduNetworkBuilder/Network.cs b/EduNetworkBuilder/Network.cs index dbeff04..a67dc55 100644 --- a/EduNetworkBuilder/Network.cs +++ b/EduNetworkBuilder/Network.cs @@ -74,6 +74,8 @@ namespace EduNetworkBuilder NetTitle = new LanguageStrings("title"); //Do not translate this string "title". It is an important word } + public Network() { } //simple constructor + private bool isDirty() { if (_isDirty) return true; @@ -137,6 +139,9 @@ namespace EduNetworkBuilder case "network": Load(Individual,PuzzleName, FromResource); break; + case "puzzlename": + PuzzleName = Individual.InnerText; + break; case "showlabels": bool.TryParse(Individual.InnerText, out OptionShowLabels); ShowLabelsHere = OptionShowLabels; @@ -278,7 +283,7 @@ namespace EduNetworkBuilder } - public void Save(XmlWriter writer) + public void Save(XmlWriter writer, bool StraightToFile = true) { //Save the language name //save the number of items @@ -296,6 +301,8 @@ namespace EduNetworkBuilder writer.WriteElementString("startinghelplevel", StartingHelpLevel.ToString()); writer.WriteElementString("vlansenabled", VLANsEnabled.ToString()); writer.WriteElementString("VLANPacketColors", VLANPacketColors.ToString()); + if(!StraightToFile) + writer.WriteElementString("PuzzleName", PuzzleName); //Save all the devices for (int loop = 0; loop < NetComponents.Count; loop++) { diff --git a/EduNetworkBuilder/PersonClass.cs b/EduNetworkBuilder/PersonClass.cs index 6329cba..0bdb83c 100644 --- a/EduNetworkBuilder/PersonClass.cs +++ b/EduNetworkBuilder/PersonClass.cs @@ -76,11 +76,6 @@ namespace EduNetworkBuilder #region Load and Save //Load and save functions - public void Load() - { - Load(@"C:\Users\tyoung\Desktop\Test.enbx"); - } - public void Load(string filename) { XmlDocument xmlDoc = new XmlDocument(); @@ -128,11 +123,6 @@ namespace EduNetworkBuilder } - public void Save() - { - Save(Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Desktop), "Test.enbx")); - } - public void Save(string filename) { XmlWriterSettings settings = new XmlWriterSettings(); @@ -168,7 +158,7 @@ namespace EduNetworkBuilder //Save all the devices foreach (SchoolworkClass One in Projects) { - //One.Save(writer); + One.Save(writer); } writer.WriteEndElement(); } diff --git a/EduNetworkBuilder/SchoolworkClass.cs b/EduNetworkBuilder/SchoolworkClass.cs index 0294d4e..1a92100 100644 --- a/EduNetworkBuilder/SchoolworkClass.cs +++ b/EduNetworkBuilder/SchoolworkClass.cs @@ -3,6 +3,7 @@ using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; +using System.Xml; namespace EduNetworkBuilder { @@ -34,5 +35,70 @@ namespace EduNetworkBuilder bool IsSumbitted = false; //Is the student submitting this? If so, date-stamp it and lock it. DateTime SaveDate; //The date this file was saved. + + public SchoolworkClass(XmlNode TheNode) + { + Load(TheNode); + } + + #region Load and Save + //Load and save functions + public void Load(XmlNode TheNode) + { + foreach (XmlNode Individual in TheNode.ChildNodes) + { + XmlNodeType myNodetype = Individual.NodeType; + if (myNodetype == XmlNodeType.Element) + { + switch (Individual.Name.ToLower()) + { + case "name": + Name = Individual.InnerText; + break; + case "description": + Description = Individual.InnerText; + break; + case "class": + Class = Individual.InnerText; + break; + case "duedate": + DateTime.TryParse(Individual.InnerText, out DueDate); + break; + case "savedate": + DateTime.TryParse(Individual.InnerText, out SaveDate); + break; + case "ismaster": + bool.TryParse(Individual.InnerText, out isMaster); + break; + case "issubmitted": + bool.TryParse(Individual.InnerText, out IsSumbitted); + break; + case "network": + theProject = new Network(); + theProject.Load(Individual, ""); + break; + } + } + } + } + + + public void Save(XmlWriter writer) + { + //Save the language name + //save the number of items + //Save all the items + writer.WriteStartElement("project"); + writer.WriteElementString("Name", Name); + writer.WriteElementString("Description", Description); + writer.WriteElementString("Class", Class); + writer.WriteElementString("DueDate", DueDate.ToString()); + writer.WriteElementString("SaveDate", SaveDate.ToString()); + writer.WriteElementString("IsMaster", isMaster.ToString()); + writer.WriteElementString("IsSubmitted", IsSumbitted.ToString()); + if (theProject != null) theProject.Save(writer); + writer.WriteEndElement(); + } + #endregion } }