/// <summary> /// Writes out an individual group to xmlWriter. /// </summary> /// <param name="group">The group which is to be written.</param> /// <param name="xmlWriter">The writer for the xml backup.</param> private void writeGroup(AVM.Types.Group group, XmlTextWriter xmlWriter) { xmlWriter.WriteStartElement("group"); xmlWriter.WriteAttributeString("name", group.Name); xmlWriter.WriteAttributeString("id", group.Id.ToString()); xmlWriter.WriteAttributeString("parent", group.ParentId.ToString()); xmlWriter.WriteEndElement(); }
/// <summary> /// Reads in an individual group from the xmlReader and returns a group. /// </summary> /// <param name="xmlReader">The reader for the xml backup.</param> /// <returns>The group that was read in.</returns> private AVM.Types.Group readGroup(XmlTextReader xmlReader) { AVM.Types.Group group = new AVM.Types.Group(); group.Name = xmlReader[0]; group.Id = Int64.Parse(xmlReader[1]); group.ParentId = Int64.Parse(xmlReader[2]); xmlReader.ReadToNextSibling("group"); return(group); }
/// <summary> /// Parses a single folder for files and additional folders. /// </summary> /// <param name="folder">The folder to parse.</param> /// <param name="parent_id">The parent_id of the groups parient.</param> private void parseFolder(DirectoryInfo folder, long parent_id) { AVM.Types.Group group = new AVM.Types.Group(); group.Id = ++last_group; group.ParentId = parent_id; group.Name = cleanString(folder.Name); Console.WriteLine(group.Id + ": " + group.Name); groups.Add(group); foreach (FileInfo file in folder.GetFiles()) { parseFile(group.Id, file); } foreach (DirectoryInfo temp in folder.GetDirectories()) { parseFolder(temp, group.Id); } }